VBA COUNTIF funkció Excelben (6 példa)

  • Ossza Meg Ezt
Hugh West

A COUNTIF függvényt az Excelben arra használjuk, hogy megszámoljuk egy tartományon belül azon cellák számát, amelyek megfelelnek az adott feltételnek. Ebben a cikkben megmutatjuk, hogyan használhatja a COUNTIF funkció az Excelben a VBA makró.

Munkafüzet letöltése

Az ingyenes gyakorló Excel munkafüzetet innen töltheti le.

COUNTIF függvény VBA.xlsm-vel

COUNTIF funkció Excelben

  • Szintaxis

WorksheetFunction.CountIf( Arg1 Mint tartomány, Arg2 ) As Double

  • Paraméterek
Paraméter Kötelező/ fakultatív Adattípus Leírás
Arg1 Kötelező Tartomány

A cellák tartománya a számolási cellákból.

Arg2 Kötelező Változat Egy szám, kifejezés, cellahivatkozás vagy szöveg, amely meghatározza, hogy mely cellákat kell számolni. A kifejezés lehet például 20, "20", ">20", "fruit" vagy B2.
  • Visszatérési típus

Érték mint Double

6 példa a COUNTIF függvény használatára Excelben a VBA-val

Ebben a szakaszban megtanulja, hogyan használja a COUNTIF funkció az Excelben a szövegek, számok stb. számolásához a VBA kód.

1. WorksheetFunction és COUNTIF az Excel VBA-ban

Excel WorksheetFunction az Excel legtöbb más, a következő programban elérhető függvényének hívására használható. a Beszúrás funkció párbeszédpanel az Excelben és a COUNTIF függvény egyike ezeknek a függvényeknek.

A fenti példán keresztül megtanuljuk, hogyan használjuk a WorksheetFunction a címen COUNTIF az adatok számolásához VBA Excelben.

Lépések:

  • Sajtó Alt + F11 a billentyűzeten, vagy lépjen a Fejlesztő -> Visual Basic kinyitni Visual Basic szerkesztő .

  • A felugró kódablakban a menüsorban kattintson a Beszúrás -> Modul .

  • Másolja ki az alábbi kódot, és illessze be a kódablakba.
 Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub 

A kódja most már futtatásra kész.

  • Sajtó F5 a billentyűzeten, vagy válassza a menüsorból a Futtatás -> Sub/UserForm futtatása . Egyszerűen csak kattints a kis Play ikon az almenüsorban a makró futtatásához.

Azt akartuk megtudni, hogy hány olyan szám van az adathalmazunkban, amelyik kisebb, mint 3. Így a kód futtatása után a 4-es eredményt kaptuk, ami a 3-nál kisebb számok száma az adathalmazunkban.

Bővebben: Két szám közötti COUNTIF használata (4 módszer)

2. COUNTIF funkció egy adott szöveg megszámlálásához az Excelben

Ha bármilyen konkrét szöveget szeretne megszámolni, például azt, hogy hány város, név vagy élelmiszer stb. van egy Excel-táblázatban, akkor használhatja a COUNTIF funkció a VBA .

A fenti példából megtanuljuk, hogyan használjuk a COUNTIF hogy megszámolja, hányszor szerepel a név John előfordul a mi adathalmazunkban VBA makró.

Lépések:

  • Ugyanúgy, mint korábban, nyissa meg Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub CountifText() 'input countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'output Range("E7") = countName End Sub 

A kódja most már futtatásra kész.

  • Fuss a makrót, és megkapja a teljes számot.

Ha nem akarod a szöveget közvetlenül a kódodba írni, akkor először tárolhatod egy változóban, és később átadhatod a változót a kódon belül. Mint az alábbi kódban,

 Sub CountifText() 'input Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) 'output Range("E7") = countName End Sub 

Bővebben: Szövegszámlálás a COUNTIF & amp; LEFT függvények az Excelben

3. COUNTIF függvény szám kiszámításához VBA-val

Használhatja a COUNTIF függvényt bizonyos eredmények kinyerésére.

A fenti példából megtanuljuk, hogyan használjuk a COUNTIF hogy megszámoljuk, hány olyan szám van az adathalmazunkban, amelyik nagyobb, mint 1,1 a címen VBA makró.

Lépések:

  • Ugyanúgy, mint korábban, nyissa meg Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub CountifNumber() 'input countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'output Range("E7") = countNum End Sub 

A kódja most már futtatásra kész.

  • Fuss a makrót, és megkapja a teljes számot.

Mint korábban már említettük, ha nem akarod a számot közvetlenül a kódodba írni, akkor először tárolhatod egy változóban, és később átadhatod a változót a kódon belül. Mint az alábbi kódban,

 Sub CountifNumber() 'input Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">" & Num) 'output Range("E7") = countNum End Sub 

Bővebben: Excel COUNTIF nagyobb, mint és kisebb, mint kritériumokkal

Hasonló olvasmányok

  • Excel COUNTIF funkció a 0-nál nagyobb cellák számolásához
  • Az IF és a COUNTIF függvények együttes használata az Excelben
  • Excel COUNTIF a másik cellából származó szöveget tartalmazó cellák számolásához
  • Hogyan használjuk a COUNTIF funkciót az Excel százalékos arányának kiszámításához?

4. COUNTIF függvény egy objektumtartományban az Excelben

A cellák egy csoportját hozzárendelheti a Tartomány objektum majd használja ezt a Tartomány objektum az Excelben lévő értékek számolásához.

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub ExCountIFRange() Dim iRng As Range 'a cellák tartományának hozzárendelése Set iRng = Range("B5:B10") 'a tartomány használata a képletben Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'a tartományobjektum felszabadítása Set iRng = Nothing End Sub 

A kódja most már futtatásra kész.

  • Fuss a kódot, és megkapja az összesített számot egy összegző értékkel.

Bővebben: Hogyan használjuk a COUNTIF-ot a nem összefüggő tartományban az Excelben

5. COUNTIF képlet módszer Excelben

Használhatja a Formula és/vagy FormulaR1C1 módszerrel egy COUNTIF egy cellába a VBA Ezek a módszerek rugalmasabbak az ilyen műveletek elvégzésében.

5.1. Képlet módszer

A képlet módszer lehetővé teszi a cellák tartományának megadását B5:B10 az alábbi példában látható.

Lépések:

  • A kód ablakban a Visual Basic szerkesztő , másolja ki a következő kódot és illessze be.
 Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub 

A kódja most már futtatásra kész.

Ez a kódrészlet megadja a kívánt adatok teljes számát.

5.2. FormulaR1C1 módszer

A képletR1C1 módszer rugalmasabb, mivel nem korlátozódik egy meghatározott cellatartományra.

Ugyanezzel az adatkészlettel most megtanuljuk, hogyan használjuk a FormulaR1C1 hogy számolja az értékeket a VBA .

Lépések:

  • A kód ablakban a Visual Basic szerkesztő , másolja ki a következő kódot és illessze be.
 Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

A kódja most már futtatásra kész.

Ez a kód megadja a kívánt adatok teljes számát is.

Ha nem szeretné beállítani a kimeneti tartományt, akkor ezt a kódot még rugalmasabbá teheti, ha így írja,

 Option Explicit Sub ExCountIfFormulaRC() ActiveCell.FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

A képlet megszámolja a feltételnek megfelelő cellákat, és a választ a ActiveCell A tartományt a munkalapon belül a COUNTIF függvényre a Sor (R) és oszlop (C) szintaxis.

Bővebben: Hogyan alkalmazza a COUNTIF-ot két cellai érték között az Excelben

6. A COUNTIF függvény eredményének hozzárendelése egy változóhoz

Ha a képlet eredményét nem az Excel-adatkészletben, hanem máshol szeretné használni, akkor az eredményt hozzárendelheti egy változóhoz, és később a kódban felhasználhatja.

A VBA kód erre a célra,

 Sub AssignCountIfVariable() Dim iResult As Double 'A változó hozzárendelése iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Az eredmény megjelenítése MsgBox "The count of cells with value less than 3 is " & iResult End Sub 

Az eredmény az Excel üzenőmezőben jelenik meg.

Bővebben: COUNTIF Excel példa (22 példa)

Következtetés

Ez a cikk megmutatta, hogyan kell használni a COUNTIF funkció az Excelben a VBA . remélem, hogy ez a cikk nagyon hasznos volt számodra. Nyugodtan kérdezz, ha bármilyen kérdésed van a témával kapcsolatban.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.