Vba: come scrivere le funzioni somma.se e somma.fs


È possibile utilizzare i seguenti metodi per scrivere le funzioni SOMMA.SE e SOMMA.FS utilizzando VBA in Excel:

Metodo 1: funzione SOMMA.SE in VBA

 SubSumif_Function ()
    Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub

Questo particolare esempio sommerà i valori nell’intervallo B2:B12 solo quando il valore corrispondente nell’intervallo A2:A12 è uguale a “Mavs” e assegnerà il risultato alla cella E2 .

Metodo 2: funzione SOMMA.FS in VBA

 Sub Sumifs_Function()
    Range(" E2 ") = WorksheetFunction.SumIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub

Questo particolare esempio sommerà i valori nell’intervallo C2:C12 solo quando il valore nell’intervallo A2:A12 è uguale a “Mavs” e il valore nell’intervallo B2:B12 è maggiore di 20, quindi assegnerà il risultato alla cella E2 . .

Gli esempi seguenti mostrano come utilizzare nella pratica ciascuno di questi metodi con il seguente set di dati in Excel che contiene informazioni su vari giocatori di basket:

Esempio 1: funzione SOMMA.SE in VBA

Diciamo che vogliamo calcolare la somma dei valori della colonna punti solo per i giocatori che fanno parte della squadra Mavs.

Possiamo creare la seguente macro per eseguire questa funzione SOMMA.SE:

 SubSumif_Function ()
    Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

Nota che la cella E2 contiene il valore 73 .

Questo rappresenta la somma dei valori nella colonna punti per il giocatore della squadra Mavs.

Possiamo verificare che ciò sia corretto calcolando manualmente la somma dei valori nella colonna punti per i giocatori della squadra Mavs:

Somma dei punti per i giocatori Mavs: 22 + 10 + 29 + 12 = 73 .

Esempio 2: funzione SOMMA.FS in VBA

Diciamo che vogliamo calcolare la somma dei valori nella colonna assist solo per i giocatori che soddisfano i seguenti criteri:

  • Il giocatore fa parte della squadra Mavs.
  • Il giocatore ha segnato più di 20 punti.

Possiamo creare la seguente macro per eseguire questa funzione SUMIFS:

 Sub Sumifs_Function()
    Range(" E2 ") = WorksheetFunction.SumIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

Nota che la cella E2 contiene il valore 18 .

Questo rappresenta la somma dei valori nella colonna punti per i giocatori della squadra Mavs che hanno segnato più di 20 punti.

Nota : in questo esempio abbiamo creato una funzione SUMIFS utilizzando due intervalli di criteri, ma puoi utilizzare tutti gli intervalli di criteri che desideri nel metodo WorksheetFunction.SumIfs .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:

VBA: come scrivere le funzioni COUNTIF e COUNTIFS
VBA: come scrivere le funzioni MEDIA.SE e MEDIA.SE

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *