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?

Yorum ekle

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