Vba'da ağırlıklı ortalama nasıl hesaplanır (örnekle)


VBA’yı kullanarak ağırlıklı ortalamayı hesaplamak için aşağıdaki temel sözdizimini kullanabilirsiniz:

 Sub FindWeightedAverage()

Range(" E2 ") = _
    WorksheetFunction.SumProduct(Range(" B2:B7 "), Range(" C2:C7 ")) / _
    WorksheetFunction.Sum(Range(" C2:C7 "))

End Sub

Bu özel örnek, B2:B7 aralığındaki hücreleri değer olarak ve C2:C7 aralığındaki hücreleri ağırlık olarak kullanarak ağırlıklı ortalamayı hesaplar.

Ağırlıklı ortalama daha sonra E2 hücresinde görüntülenir.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: VBA Kullanarak Ağırlıklı Ortalamayı Hesaplama

Diyelim ki Excel’de bir şirketin çalışanlarının yaptığı çeşitli satışları gösteren aşağıdaki veri setine sahibiz:

Tutar sütunundaki değerleri değer olarak ve Fiyat sütunundaki değerleri ağırlık olarak kullanarak fiyatın ağırlıklı ortalamasını hesaplamak istediğimizi varsayalım:

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub FindWeightedAverage()

Range(" E2 ") = _
    WorksheetFunction.SumProduct(Range(" B2:B7 "), Range(" C2:C7 ")) / _
    WorksheetFunction.Sum(Range(" C2:C7 "))

End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

E2 hücresinin 9.705882 değerini içerdiğine dikkat edin.

Ağırlıklı ortalamayı manuel olarak hesaplayarak bunun doğru olduğunu doğrulayabiliriz.

Ağırlıklı ortalama için aşağıdaki formülü kullandığımızı unutmayın:

Ağırlıklı ortalama = Σw i X i / Σw i

Altın:

  • w i = ağırlık değerleri
  • X i = veri değerleri

Ağırlıklı ortalama fiyatı hesaplamak için veri setimizdeki değerleri bu formüle ekleyebiliriz:

  • Ağırlıklı ortalama = Σw i X i / Σw i
  • Ağırlıklı ortalama = (1*8 + 3*5 + 2*6 + 2*7 + 5*12 + 4*14) / (1+3+2+2+5+4)
  • A öğrencisi için not ortalaması = 9,705882

Bu, makroyu kullanarak hesapladığımız değerle eşleşir.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: EĞER ORTALAMA ve EĞER ORTALAMA işlevleri nasıl yazılır
VBA: ETOPLA ve ETOPLA işlevleri nasıl yazılır
VBA: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir