EXCEL VBA'DA COUNTLF FONKSİYONU

 


Excel VBA CountIf işlevi, belirli bir koşul veya ölçütü karşılayan bir aralıktaki hücre sayısını sayar. Excel çalışma sayfası işlevi COUNTIF'e benzer, ancak VBA kodunda hesaplamalar yapmak ve verileri programatik olarak işlemek için kullanılır.


Bir sütundaki elma sayısını bulmanız gereken bir örneği ele alalım. Bu, aşağıda görüldüğü gibi VBA CountIf aralık değişkenini uygulayarak yapılabilir:

VBA CountIf Örneği - 1
VBA CountIf Örneği - 2

Bu örnek, tabloda bulunan Elma sayısını Hemen sekmesinde yazdırır.

VBA CountIf Örneği - 3

ÖNEMLİ NOKTALAR

  • VBA'daki COUNTIF, Excel'de VBA kodu aracılığıyla belirli ölçütleri karşılayan hücreleri saymak için kullanılır.
  • Application.WorksheetFunction nesnesi aracılığıyla erişilir.
  • COUNTIF iki bağımsız değişken alır: değerlendirilecek hücre aralığı ve uygulanacak ölçüt.
  • Programlı olarak hesaplamalar ve veri manipülasyonları yapılmasına olanak sağlar.
  • VBA'daki COUNTIF, VBA makroları içinde veri analizini ve işlemeyi otomatikleştirmek için kullanışlıdır.

VBA CountIf'in sözdizimi

VBA'da CountIf fonksiyonunun sözdizimi aşağıdaki gibidir:

Application.WorksheetFunction.CountIf(range, criteria)

Nerede:

  • Range, oluşumları saymak istediğiniz hücre aralığıdır.
  • Criteria, hücrelerin sayılabilmesi için karşılaması gereken koşullardır.

Not: CountIf, Application sınıfındaki WorksheetFunction nesnesinin bir parçasıdır. Bu nedenle, VBA CountIf her zaman “Application.WorksheetFunction” önekiyle çağrılır.


EXCEL VBA'DA COUNTLF NASIL KULLANILIR?

Excel VBA'da VBA CountIf not blank fonksiyonunu kullanmak için aşağıda gösterilen adımları izleyin.

  1. Araç çubuğundaki “Geliştirici” bölümüne gidin ve “Visual Basic” seçeneğine tıklayın. Şimdi, işlevler ve alt prosedürler eklemek için VBA Editörü açılır. Ardından, yeni bir modül veya boş sayfa oluşturmak için “Ekle” ve “Modül” düğmelerine tıklayın.


    VBA CountIf nasıl kullanılır - Adım 1a



  2. İçinde “01-01-2023” tarihi olan hücre sayısını yazdırmak için bir alt rutin başlatın. Tablo aşağıda gösterilmiştir:


    VBA CountIf nasıl kullanılır - Adım 2a

  3. count, rng ve criteria değişkenlerini tanımlayın. “count” değişkenleri, VBA CountIf Array işlevi tarafından verilen değeri depolar, “rng” VBA CountIf Range Variable tarafından kontrol edilen hücre aralığını depolar ve “criteria”, kriterlerimiz tarih biçiminde olduğundan “Date” olarak başlatılır.


    VBA CountIf nasıl kullanılır - Adım 3

  4. Tablonun aralığını ayarlayın.


    VBA CountIf nasıl kullanılır - Adım 4

  5. CountIf fonksiyonu için kriterleri ayarlayın.


    VBA CountIf nasıl kullanılır - Adım 5

  6. count değişkenini A2-A18 hücre aralığı arasındaki “01-01-2023” sayısının count değeri olarak ayarlayın.


    VBA CountIf nasıl kullanılır - Adım 6

    CountIf fonksiyonu WorksheetFunction sınıfının bir parçasıdır. Bu nedenle onu tanımlarken " Application.WorksheetFunction.CountIf(rng, criteria) " önekiyle çağırırız .

  7. Hemen sekmesindeki sayım değişkenini yazdırın.


    VBA CountIf nasıl kullanılır - Adım 7

    Kod:

    Sub CountIfCriteria()
    Dim count As Long
    Dim rng As Range
    Dim criteria As Date
    Ayarla rng = Range(“A2:A18”)
    criteria = DateValue(“2023-01-01”)
    count = Application.WorksheetFunction.CountIf(rng, criteria)
    Debug.Print “' kriterine sahip hücre sayısı” & Format(criteria, “mm/dd/yyyy”) & “' is: ” & count
    En Sub

  8. Sayım değerini F5 tuşuna veya VBA araç çubuğunda bulunan çalıştır tuşuna basarak yazdırın.


    VBA CountIf nasıl kullanılır - Adım 8


Örnekler

Excel VBA'da VBA CountIf fonksiyonunun nasıl kullanılacağına dair bazı örneklere bakalım.

Örnek 1

Mevcut ürün sayısına göre bir şirketteki belirli bir Ürünün sayısını yazdırmamız gereken bir örneği ele alalım. Bu, VBA CountIf Multiple Criteria kullanılarak yapılabilir.

Excel'de VBA CountIf Fonksiyonu - Örnek 1
  • Adım 1: Miktarı 7’den büyük olduğunda “Product A”nın sayısını yazdıran bir alt prosedür tanımlayın.
Örnek 1 - Adım 1
  • Adım 2: count ve rng değişkenlerini tanımlayın. “count” değişkeni, VBA CountIf Çoklu Kriteri tarafından döndürülen count değerini depolar ve “rng”, CountIf koşullarının kontrol edildiği hücre aralığını depolar.
Örnek 1 - Adım 2
  • Adım 3: VBA aralığını tablonun aralığı olarak ayarlayın . Ürünün “Ürün A” olup olmadığını ve miktarını kontrol eder.
Örnek 1 - Adım 3
  • Adım 4: VBA CountIf Çoklu Kriter tarafından döndürülen değeri “count” olarak atayın.
Örnek 1 - Adım 4

Not:

Application.WorksheetFunction.CountIfs(rng, “Prıduct A”, rng.Offset(0, 1), “>7”), WorksheetFunction nesnesindeki CountIfs işlevini kullanarak belirli ölçütleri karşılayan bir aralıktaki hücre sayısını sayar. İşte bileşenleri:

  • rng: Sayımın yapılacağı hücre aralığını temsil eder.
  • “Product A”: İlk koşul için ölçütleri belirtir. rng'de “Product A” değerini içeren hücreleri sayar.
  • rng.Offset(0, 1): rng'den bir sütun ötelenmiş bir aralık ofsetini temsil eder. İkinci koşul için kullanılır.
  • “>7”: İkinci koşul için ölçütleri belirtir. Ofset aralığında 7'den büyük değere sahip hücreleri sayar.

CountIfs fonksiyonu her iki koşulu da aynı anda sağlayan hücre sayısını hesaplar.

  • Adım 5: “count” değişkenini anında tabloya yazdırın.
Örnek 1 - Adım 5

Kod:

Sub CountIfMultipleConditions()
Dim count As Long
Dim rng As Range
Set rng = Range(“C2:D18”)
count = Application.WorksheetFunction.CountIfs(rng, “Ürün A”, rng.Offset(0, 1), “>7”)
Debug.Print “Sayı: ” & count
End Sub

  • Adım 6: Yukarıdaki VBA kodunu yazdırın . Çıktı hemen sekmede yazdırılır.
Excel'de VBA CountIf Fonksiyonu - Örnek 1 - Adım 6

Örnek 2

Aşağıdaki tabloda sınavlarda 85'in üzerinde puan alan öğrencilerin sayısını saymanız gereken bir örneği ele alalım:

Excel'de VBA CountIf Fonksiyonu - Örnek 2
  • Adım 1: Eşik değerinin üzerinde puan alan öğrenci sayısını saymak için bir alt rutin başlatın.
Örnek 2 - Adım 1
  • Adım 2: count, rng ve threshold değişkenlerini başlatın. "count" değişkeni, kullanıcı tarafından tanımlanan "eşik" değerinin üzerinde puan alan öğrencilerin sayısını depolamak için kullanılır.
Örnek 2 - Adım 2
  • Adım 3: Eşik değerinden büyük sayıları kontrol etmek için aralık değerini başlatın.
Örnek 2 - Adım 3
  • Adım 4: Öğrencinin tablosu için eşik değerini tanımlayın.
Örnek 2 - Adım 4
  • Adım 5: Belirtilen aralıkta VBA CountIf komutunu uygulayarak count değişkenini tanımlayın.
Örnek 2 - Adım 5

CountIf daha sonra aralıktaki değerleri karşılaştırır ve 85'in üzerinde olup olmadıklarını kontrol eder. Eğer öyleyse, sayaç artırılır. Değilse, sayaç artırılmaz.

  • Adım 6: MsgBox fonksiyonunu kullanarak çıktıyı yazdırın.
Örnek 2 - Adım 6

Kod:

Sub CountStudentsAboveThreshold()
Dim count As Long
Dim rng As Range
Dim threshold As Long
Set rng = Range(“B2:B20”)
threshold (eşik) = 85
count = Application.WorksheetFunction.CountIf(rng, “>85”)
MsgBox “& eşik & ” üzerinde puan alan öğrenci sayısı: ” & count
End Sub

  • Adım 7: Yukarıdaki kodu yazdırın. Çıktı bir mesaj kutusunda yazdırılır.
Excel'de VBA CountIf Fonksiyonu - Örnek 2 - Adım 7

Değişkenlerle Sonuç Elde Etme

VBA CountIf Çoklu kriterleri gerçekleştirmenin bir başka yolu da onları birden fazla değişkenle tanımlayıp CountIf fonksiyonunda çağırmaktır. Bunu nasıl yapacağımızı görelim.

Belirli bir günde satılan belirli elektronik ürünlerin miktarının verildiği bir örneği ele alalım. 5'ten büyük olan satılan bilgisayarların sayısını yazdırmalıyız.

Excel VBA Değişkenlerle CountIf
  • Adım 1: 5'in üzerinde satılan bilgisayarların satış sayısını saymak için bir alt rutin başlatın.
Değişkenlerle - Adım 1
  • Adım 2: Değişkenleri count, rng ve eşik, criteria1 ve criteria2 olarak başlatın. “count” değişkeni, “criteria1”in “criteria2”den büyük satış sayısını depolamak için kullanılır. “rng” değişkeni, tablonun aralığı olarak tanımlanır.
Excel VBA Değişkenlerle CountIf - Adım 2
  • Adım 3: Kriterler için tabloyu kontrol etmek üzere aralık değerini başlatın.
Değişkenlerle - Adım 3
  • Adım 4: VBA CountIf Çoklu Değişkenler için kriterleri tanımlamak üzere değişkenleri başlatın.
Excel VBA Değişkenlerle CountIf - Adım 4
  • Adım 5: Verilen aralıktaki ölçütleri kullanarak VBA CountIf'i gerçekleştirerek count değişkenini tanımlayın.
Değişkenlerle - Adım 5

Kod:

Sub CountIfMultipleConditionsWithVariables()
Dim count As Long
Dim rng As Range
Dim criteria1 As String
Dim criteria2 As String
Set rng = Range(“A2:B10”)
criteria1 = “Computer”
criteria2 = “>5”
count = Application.WorksheetFunction.CountIfs(rng, criteria1, rng.Offset(0, 1), criteria2)
MsgBox “The count is: ” & count
End Sub

  • Adım 6: Çıktıyı yazdırmak için “F5” tuşuna basın. Bir mesaj kutusunda görüntülenecektir.
Excel VBA Değişkenlerle CountIf - Adım 6

Dikkat Edilmesi Gereken Önemli Noktalar

  • COUNTIF işlevini kullanırken doğru sözdizimini sağladığınızdan emin olun. Aralık ve ölçüt argümanları doğru ve düzgün biçimlendirilmiş olmalıdır.
  • Uygulayacağınız ölçüt belirli bir değer, bir hücre başvurusu , bir joker karakter deseni veya mantıksal bir ifade olabilir.
  • Saymak istediğiniz hücre değerlerindeki bilinmeyen veya değişken karakterleri temsil etmek için ölçütlerinizde yıldız işareti (*) ve soru işareti (?) gibi joker karakterler kullanabilirsiniz.
  • COUNTIF formülünü diğer hücrelere kopyalamayı planlıyorsanız , aralık başvurularını kilitlemek için mutlak başvurular (örneğin, $A$1:$A$10) kullanın. Bu, formülün her zaman doğru aralığa başvurmasını sağlar.

Yorum Gönder

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