EXCEL VBA'DA COUNTIFS FONKSİYONU (ÇOKEĞERLİLİK)

 

Birkaç gereksinimi karşılayan bir aralıktaki hücre sayısı VBA COUNTIFS işlevi kullanılarak sayılabilir. Büyük veri kümeleriyle çalışırken veya verileri birçok koşula göre filtrelemeniz gerektiğinde, bu işlev kullanışlı olur.

Bir örneği inceleyelim. Diyelim ki bazı Excel verilerimiz var ve değer içeren hücre sayısını bulmak istiyoruz. Ancak, hücrelerin bazıları boş. VBA COUNTIFS işlevini kullanarak bunu kolayca başarabiliriz.

VBA Sayımları - Giriş.jpg

Bu örnekte, Sheet1'deki A1:A10 aralığındaki boş olmayan hücrelerin sayısını sayan “Example_CountIFS_NotBlank” adlı bir alt rutinimiz var.

VBA Sayımları - Giriş - kod

Burada, yalnızca bir ölçüt olan "<>" ile VBA COUNTIFS işlevini kullanıyoruz; bu, "boş değil" anlamına gelir. Sonuç, countResult adlı bir değişkende saklanır ve son olarak bir ileti kutusu boş olmayan hücrelerin sayısını görüntüler.

VBA Sayımları - Giriş - Çıktı.jpg

ÖNEMLİ NOKTALAR

  • COUNTIFS fonksiyonu, VBA kodu kullanılarak birden fazla ölçütü karşılayan hücreleri saymak için kullanılır .
  • Oluşum sayısını saymak için her durumda aralığı belirtin, ardından COUNTIFS işlevine gerekli ölçütünü ekleyin.
  • VBA COUNTIFS Çoklu Kriter özelliği, hücrelerin aynı anda birden fazla kritere göre sayılmasını sağlayarak, birden fazla koşula göre değerlendirme gerektiren veri analizi görevlerinde esneklik sağlar.
  •  VBA COUNTIFS OR Kriterleri özelliği, kullanıcıların çeşitli kriterlere göre kapsayıcı sayımı mümkün kılarak, birden fazla koşulu belirtmek için “VEYA” operatörünü kullanmalarını sağlar.

VBA COUNTIFS'in sözdizimi

VBA COUNTIFS fonksiyonunun sözdizimi şöyledir:

Application.WorksheetFunction.CountIfs(Range1, criteria1, Range2, criteria2, …) 

Nerede:

  • range1 , range2 , … değerlendirilecek aralıklardır.
  • criteria1 , criteria2 , … karşılanması gereken koşullardır.

VBA COUNTIFS nasıl kullanılır? 

Adım 1: Excel'i açın ve VBA düzenleyicisini açmak için ALT + F11 tuşlarına basın .

VBA Sayımları - Adım 1

Adım 2 : Menüde “Ekle”ye tıklayıp “Modül”ü seçerek yeni bir modül ekleyin.

VBA Sayımları - Adım 2

Adım 3: Modül penceresinde, COUNTIFS işlemini barındıracak bir alt rutin yazın. 

Adım 4: Sayım sonucunu ve değerlendireceğiniz aralıkları depolamak için değişkenler bildirin. Değişken adını ve veri türünü (örneğin, tam sayılar için As Long) takip eden Dim anahtar sözcüğünü kullanın.

Adım 5: Değerlendirilecek aralıkları, Set anahtar sözcüğünü kullanarak, ardından aralık değişken adını ve “Range(“A1:A10”)” veya diğer uygun aralık seçme yöntemlerini kullanarak belirli aralığı ayarlayın.

Adım 6: Sayma işlemini gerçekleştirmek için “Application.WorksheetFunction.CountIfs” yöntemini kullanın. Aralıkları ve ölçütleri parantez içinde belirtin. Her aralığı ve ölçütü virgülle ayırın.

Adım 7: Sayma işleminin sonucunu, sayma sonucunu saklamak için daha önce bildirilen değişkene atayın.

Adım 8: Sayım sonucunu VBA'da bir ileti kutusu kullanarak görüntüleyebilir veya daha detaylı analiz için çalışma sayfasındaki bir hücreye çıktı olarak gönderebilirsiniz.

Adım 9: Makroyu F5 tuşuna basarak veya menüden Çalıştır'ı tıklayarak çalıştırın.

Örnekler

COUNTIFS fonksiyonunu daha iyi anlamak için bazı ilginç örneklere bakalım. 

Örnek 1 – Çoklu Aralık Nesnelerinde COUNTIFS

İki veri aralığınız olduğunu ve her iki aralıkta da belirli ölçütleri karşılayan hücre sayısını saymak istediğinizi varsayalım. Bunu başarmak için VBA COUNTIFS'i kullanabilirsiniz.

VBA Sayımları - Örnek 1.jpg

Adım 1: Yeni modülde, “Example1_CountIFS_MultipleRanges” adlı bir alt rutin bildirerek başlayın.

VBA Sayımları - Örnek 1 - Adım 1.jpg

Adım 2: Bu adımda aşağıdaki üç değişkeni bildiriyoruz:

countResult: Sayımın sonucunu saklar.

rng1 ve rng2 : Değerlendirilecek aralıkları temsil eder.

VBA Sayımları - Örnek 1 - Adım 2.jpg

Adım 3: Burada, rng1 ve rng2 değişkenlerini Sheet2 adlı çalışma sayfasındaki belirli aralıkları temsil edecek şekilde ayarlıyoruz.

VBA Sayımları - Örnek 1 - Adım 3.jpg

Adım 4 : Bu satırda, VBA COUNTIFS fonksiyonu rng1'deki 10'dan büyük hücreleri ve rng2'deki 20'den küçük hücreleri saymak için kullanılır.

Daha sonra sonuç countResult değişkeninde saklanır.

VBA Sayımları - Örnek 1 - Adım 4.jpg

Adım 5: Son olarak sayım sonucunu gösteren bir mesaj kutusu görüntülenir.

VBA Sayımları - Örnek 1 - Adım 5.jpg

Adım 6: Şimdi makroyu kaydedin ve çalıştır'a tıklayın.

Kod çalıştırıldığında, belirtilen ölçütleri karşılayan (10'dan büyük ve 20'den küçük) A1:A10 ve B1:B10 aralığındaki hücre sayısını sayacaktır.

Sonuç bir mesaj kutusunda gösterilecektir.

VBA Sayımları - Örnek 1 - Çıktı

İşte tam kod:

Sub Örnek1_CountIFS_MultipleRanges()
Dim countResult As Long
Dim rng1 As Range
Dim rng2 As Range
rng1 = Sheet2.Range(“A1:A10”) olarak ayarlayın
rng2 = Sheet2.Range(“B1:B10”)
olarak ayarlayın countResult = Application.WorksheetFunction.CountIfs(rng1, “>10”, rng2, “<20”)
MsgBox “Count: ” & countResult 

End Sub

Örnek 2 – Metin Kriterleriyle COUNTIFS:

Hücreleri metin ölçütlerine göre saymak için VBA COUNTIFS'i de kullanabiliriz. Örneğin, bir ad listeniz varsa ve belirli bir adın kaç kez göründüğünü saymak istiyorsanız (bu örnekte John), VBA COUNTIFS'i kullanabilirsiniz.

Örnek 2

Adım 1: İlk olarak “Example2_CountIFS_TextCriteria” adında yeni bir alt rutin tanımlayalım.

VBA Sayımları - Örnek 2 - Adım 1

Adım 2: Önceki örnekte olduğu gibi burada da iki değişkeni tanımlıyoruz.

countResult: Sayımın sonucunu saklar.

nameRange: İsimleri içeren aralığı temsil eder.

VBA Sayımları - Örnek 2 - Adım 2

Adım 3: Bu satır, “nameRange” değişkenini çalışma sayfasındaki Sheet3 adlı belirli bir aralığı temsil edecek şekilde ayarlar.

Örnek 2 - Adım 3

Adım 4: Şimdi, VBA CountIfs fonksiyonu “nameRange” değişkeninde “John” adının oluşumlarını saymak için kullanılır. Sonuç countResult değişkeninde saklanır.

Örnek 2 - Adım 4

Adım 5: Daha sonra sonucumuzu görüntülemek için mesaj kutusu özelliğini kullanırız.

Örnek 2 - Adım 5

Adım 6: Kod çalıştırıldığında, Sayfa 3'teki A1:A10 aralığında “John” adının geçtiği sayıyı sayacak ve sonucu bir mesaj kutusunda gösterecektir.

VBA Sayımları - Örnek 2 - Çıktı

İşte tam kod:

Sub Example2_CountIFS_TextCriteria()
Dim countResult As Long
Dim nameRange As Range
Set nameRange = Sheet3.Range(“A1:A10”)
countResult = Application.WorksheetFunction.CountIfs(nameRange, “John”)
MsgBox “Count: ” & countResult
End Sub

Örnek 3 – Tarihli COUNTIFS

Diyelim ki elinizde bir tarih listesi var ve bunlardan kaçının belirli bir aralığa düştüğünü saymak istiyorsunuz; bunu başarmak için VBA COUNTIFS'i kullanabilirsiniz.

Örnek 3

Adım 1: Bu satır Example3_CountIFS_Dates adlı bir alt programın başlangıcını bildirir.

VBA Sayımları - Örnek 3 - Adım 1

Adım 2: Önceki iki örnekte olduğu gibi countResult ve dateRange adlı iki değişkeni bildiriyoruz.

VBA Sayımları - Örnek 3 - Adım 2

Adım 3: Bu satır, “dateRange” değişkenini çalışma sayfasındaki Sheet4 adlı belirli bir aralığı temsil edecek şekilde ayarlar.

Örnek 3 - Adım 3

Adım 4: Burada, VBA COUNTIFS fonksiyonu, 1 Ocak 2023 ile 31 Aralık 2023 arasındaki “dateRange” içindeki tarihleri ​​saymak için kullanılır. Sonuç, countResult değişkeninde saklanır.

VBA Sayımları - Örnek 3 - Adım 4
VBA Sayımları - Örnek 3 - Adım 4 - tarih aralığı

Adım 5: Sayım sonucunu gösteren bir mesaj kutusu görüntülenir.

Örnek 3 - Adım 5

Adım 6: Kod çalıştırıldığında, Sheet1'deki A1:A10 aralığında belirtilen aralığa düşen tarih sayısını sayacak ve sonucu bir mesaj kutusunda gösterecektir.

VBA Sayımları - Örnek 3 - Adım 6

İşte tam kod:

Sub Example3_CountIFS_Dates()
Dim countResult As Long
Dim dateRange As Range
Set dateRange = Sheet4.Range(“A1:A10”)
countResult = Application.WorksheetFunction.CountIfs(dateRange, “>=” & DateSerial(2023, 1, 1), dateRange, “<=” & DateSerial(2023, 12, 31))
MsgBox “Count: ” & countResult
End Sub

Dikkat Edilmesi Gereken Önemli Noktalar

  • VBA COUNTIFS ile aynı anda birçok ölçütü belirtebilirsiniz. Yalnızca her koşulu karşılayan hücreler sayılır; her ölçüt ayrı ayrı değerlendirilir. 
  • Birden fazla aralık kullanırken VBA COUNTIFS'teki aralıkların doğru şekilde hizalandığından ve aynı sayıda satırı kapsadığından emin olun.
  • Değerlendirilen hücre tiplerinin ve kriterlerin veri tiplerinin birbirine uyduğundan emin olun. Örneğin, metin kriterleri ile metin verileri, tarih kriterleri ile tarih verileri ve sayısal kriterler ile sayısal veriler arasında karşılaştırmalar yapılmalıdır.
  • VBA COUNTIFS Between Dates, belirli bir tarih aralığında bulunan hücrelerin sayılmasına olanak tanır ve VBA'da zaman tabanlı veri kümelerinin verimli bir şekilde analiz edilmesini kolaylaştırır. 
  • VBA COUNTIFS Not Blank özelliğini kullanarak kullanıcılar boş olmayan hücreleri sayabilir ve VBA'da COUNTIFS kullanarak eksik veya tamamlanmamış bilgiler içeren veri kümelerinin etkin bir şekilde işlenmesini sağlayabilir.

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...