Vba: cara menulis fungsi averageif dan averageifs


Anda dapat menggunakan metode berikut untuk menulis fungsi AVERAGEIF dan AVERAGEIFS menggunakan VBA di Excel:

Metode 1: Fungsi AVERAGEIF di VBA

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

Contoh khusus ini akan menghitung nilai rata-rata dalam rentang B2:B12 di mana nilai terkait dalam rentang A2:A12 sama dengan “Mavs”, lalu menetapkan hasilnya ke sel E2 .

Metode 2: Fungsi AVERAGEIFS di VBA

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

Contoh khusus ini akan menghitung nilai rata-rata pada rentang C2:C12 dimana nilai pada rentang A2:A12 sama dengan “Mavs” dan nilai pada rentang B2:B12 lebih besar dari 20, lalu tetapkan hasilnya ke sel E2 . .

Contoh berikut memperlihatkan cara menggunakan masing-masing metode ini dalam praktik dengan himpunan data berikut di Excel yang berisi informasi tentang berbagai pemain bola basket:

Contoh 1: Fungsi AVERAGEIF di VBA

Katakanlah kita ingin menghitung nilai rata-rata pada kolom poin pemain di tim Mavs.

Kita dapat membuat makro berikut untuk menjalankan fungsi AVERAGEIF ini:

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

Saat kami menjalankan makro ini, kami menerima keluaran berikut:

Perhatikan bahwa sel E2 berisi nilai 18.25 .

Artinya nilai rata-rata pada kolom poin pemain tim Mavs adalah 18,25.

Kami dapat memverifikasi kebenarannya dengan menghitung secara manual nilai rata-rata poin pemain di Mavs:

Poin rata-rata pemain Mavs: (22 + 10 + 29 + 12) / 4 = 18.25 .

Contoh 2: Fungsi AVERAGEIFS di VBA

Katakanlah kita ingin menghitung nilai rata-rata pada kolom assist untuk pemain yang memenuhi kriteria berikut:

  • Pemain adalah bagian dari tim Mavs.
  • Pemain mencetak lebih dari 20 poin.

Kita dapat membuat makro berikut untuk menjalankan fungsi AVERAGEIFS ini:

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

Saat kami menjalankan makro ini, kami menerima keluaran berikut:

Perhatikan bahwa sel E2 berisi nilai 9 .

Ini memberitahu kita bahwa rata-rata assist di antara pemain yang berada di tim Mavs dan yang telah mencetak lebih dari 20 poin adalah 9.

Catatan : Dalam contoh ini, kami membuat fungsi AVERAGEIFS menggunakan dua rentang kriteria, namun Anda dapat menggunakan rentang kriteria sebanyak yang Anda inginkan dalam metode WorksheetFunction.AverageIfs .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:

VBA: Cara menghitung nilai rata-rata rentang
VBA: Cara menulis fungsi SUMIF dan SUMIFS
VBA: Cara menulis fungsi COUNTIF dan COUNTIFS

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *