Vba: come scrivere le funzioni media.se e media.se


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

Metodo 1: funzione MEDIA.SE in VBA

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

Questo particolare esempio calcolerà il valore medio nell’intervallo B2:B12 dove il valore corrispondente nell’intervallo A2:A12 è uguale a “Mavs”, quindi assegnerà il risultato alla cella E2 .

Metodo 2: funzione MEDIA.SE in VBA

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

Questo particolare esempio calcolerà il valore medio nell’intervallo C2:C12 dove 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 MEDIA.SE in VBA

Diciamo che vogliamo calcolare il valore medio nella colonna dei punti per i giocatori della squadra Mavs.

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

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

Quando eseguiamo questa macro, riceviamo il seguente output:

Si noti che la cella E2 contiene un valore di 18.25 .

Questo ci dice che il valore medio nella colonna punti per i giocatori della squadra Mavs è 18,25.

Possiamo verificare che ciò sia corretto calcolando manualmente il valore medio dei punti giocatore sui Mavs:

Media punti giocatore Mavs: (22+10+29+12) / 4 = 18,25 .

Esempio 2: funzione MEDIA.SE in VBA

Supponiamo di voler calcolare il valore medio nella colonna degli assist 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 MEDIA.SE:

 Sub Averageifs_Function()
    Range(" E2 ") = WorksheetFunction.AverageIfs(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 9 .

Questo ci dice che la media degli assist tra i giocatori che fanno parte della squadra Mavs e che hanno segnato più di 20 punti è 9.

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

Risorse addizionali

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

VBA: come calcolare il valore medio dell’intervallo
VBA: come scrivere le funzioni SOMMA.SE e SOMMA.FS
VBA: come scrivere le funzioni COUNTIF e COUNTIFS

Aggiungi un commento

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