Vba: eğer ortalama ve eğer ortalama işlevleri nasıl yazılır
Excel’de VBA kullanarak EĞERORTALAMA ve EĞERORTALAMA işlevlerini yazmak için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: VBA’da EĞERORTALAMA işlevi
Sub Averageif_Function()
Range(" E2 ") = WorksheetFunction.AverageIf(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub
Bu özel örnek, A2:A12 aralığındaki karşılık gelen değerin “Mavs”e eşit olduğu B2: B12 aralığındaki ortalama değeri hesaplayacak ve ardından sonucu E2 hücresine atayacaktır.
Yöntem 2: VBA’da AVERAGEIFS işlevi
Sub Averageifs_Function()
Range(" E2 ") = WorksheetFunction.AverageIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub
Bu özel örnek, A2 : A12 aralığındaki değerin “Mavs”e eşit olduğu ve B2:B12 aralığındaki değerin 20’den büyük olduğu C2:C12 aralığındaki ortalama değeri hesaplayacak ve ardından sonucu E2 hücresine atayacaktır. . .
Aşağıdaki örnekler, çeşitli basketbol oyuncuları hakkında bilgiler içeren Excel’deki aşağıdaki veri kümesiyle bu yöntemlerin her birinin pratikte nasıl kullanılacağını göstermektedir:
Örnek 1: VBA’da EĞERORTALAMA işlevi
Diyelim ki Mavs takımı oyuncularının puan sütunundaki ortalama değeri hesaplamak istiyoruz.
Bu EĞERORTALAMA fonksiyonunu gerçekleştirmek için aşağıdaki makroyu oluşturabiliriz:
Sub Averageif_Function()
Range(" E2 ") = WorksheetFunction.AverageIf(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
E2 hücresinin 18,25 değerini içerdiğine dikkat edin.
Bu bize Mavs takım oyuncularının puan sütunundaki ortalama değerin 18,25 olduğunu gösteriyor.
Mavs’deki ortalama oyuncu puanı değerini manuel olarak hesaplayarak bunun doğru olduğunu doğrulayabiliriz:
Mavs oyuncularının ortalama puanları: (22 + 10 + 29 + 12) / 4 = 18.25 .
Örnek 2: VBA’da EĞERORTALAMA işlevi
Aşağıdaki kriterleri karşılayan oyuncular için asist sütunundaki ortalama değeri hesaplamak istediğimizi varsayalım:
- Oyuncu Mavs takımının bir parçası.
- Oyuncu 20’den fazla sayı attı.
Bu AVERAGEIFS fonksiyonunu gerçekleştirmek için aşağıdaki makroyu oluşturabiliriz:
Sub Averageifs_Function()
Range(" E2 ") = WorksheetFunction.AverageIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
E2 hücresinin 9 değerini içerdiğine dikkat edin.
Bu bize Mavs takımında 20 sayıdan fazla gol atan oyuncuların ortalama asistinin 9 olduğunu gösteriyor.
Not : Bu örnekte, iki ölçüt aralığı kullanarak bir AVERAGEIFS işlevi oluşturduk, ancak WorksheetFunction.AverageIfs yönteminde istediğiniz kadar ölçüt aralığı kullanabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Aralığın ortalama değeri nasıl hesaplanır
VBA: ETOPLA ve ETOPLA işlevleri nasıl yazılır
VBA: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?