Vba: etopla ve etopla işlevleri nasıl yazılır
Excel’de VBA kullanarak ETOPLA ve ÇOKETOPLA işlevlerini yazmak için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: VBA’da ETOPLA işlevi
SubSumif_Function ()
Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub
Bu özel örnek, yalnızca A2:A12 aralığındaki karşılık gelen değer “Mavs” değerine eşit olduğunda B2:B12 aralığındaki değerleri toplayacak ve sonucu E2 hücresine atayacaktır.
Yöntem 2: VBA’da ÇOKETOPLA işlevi
Sub Sumifs_Function()
Range(" E2 ") = WorksheetFunction.SumIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub
Bu özel örnek, C2:C12 aralığındaki değerleri yalnızca A2:A12 aralığındaki değer “Mavs” değerine eşit olduğunda ve B2:B12 aralığındaki değer 20’den büyük olduğunda toplayacak 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 ETOPLA işlevi
Diyelim ki sadece Mavs takımında yer alan oyuncular için puan sütunundaki değerlerin toplamını hesaplamak istiyoruz.
Bu ETOPLA fonksiyonunu gerçekleştirmek için aşağıdaki makroyu oluşturabiliriz:
SubSumif_Function ()
Range(" E2 ") = WorksheetFunction.Sumif(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 73 değerini içerdiğine dikkat edin.
Bu, Mavs takım oyuncusunun puan sütunundaki değerlerin toplamını temsil eder.
Mavs takım oyuncuları için puan sütunundaki değerlerin toplamını manuel olarak hesaplayarak bunun doğru olduğunu doğrulayabiliriz:
Mavs oyuncularının puan toplamı: 22 + 10 + 29 + 12 = 73 .
Örnek 2: VBA’da ETOPLA işlevi
Diyelim ki asist sütunundaki değerlerin toplamını yalnızca aşağıdaki kriterleri karşılayan oyuncular için hesaplamak istiyoruz:
- Oyuncu Mavs takımının bir parçası.
- Oyuncu 20’den fazla sayı attı.
Bu ÇOKETOPLA fonksiyonunu gerçekleştirmek için aşağıdaki makroyu oluşturabiliriz:
Sub Sumifs_Function()
Range(" E2 ") = WorksheetFunction.SumIfs(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 18 değerini içerdiğine dikkat edin.
Bu, Mavs takımının 20 sayıdan fazla puan alan oyuncularının puan sütunundaki değerlerin toplamını temsil ediyor.
Not : Bu örnekte, iki ölçüt aralığı kullanarak SUMIFS işlevi oluşturduk ancak WorksheetFunction.SumIfs 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: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?
VBA: EĞER ORTALAMA ve EĞER ORTALAMA işlevleri nasıl yazılır