Funkcia VBA COUNTIF v programe Excel (6 príkladov)

  • Zdieľajte To
Hugh West

Stránka COUNTIF sa v programe Excel používa na spočítanie počtu buniek v rozsahu, ktoré spĺňajú zadanú podmienku. V tomto článku si ukážeme, ako použiť funkciu COUNTIF funkcie v programe Excel pomocou VBA makro.

Stiahnite si pracovný zošit

Bezplatný cvičný zošit Excel si môžete stiahnuť odtiaľto.

Funkcia COUNTIF s VBA.xlsm

Funkcia COUNTIF v programe Excel

  • Syntax

WorksheetFunction.CountIf( Arg1 Ako rozsah, Arg2 ) ako Double

  • Parametre
Parameter Povinné/ voliteľné Typ údajov Popis
Arg1 Požadované Rozsah

Rozsah buniek z počtu buniek.

Arg2 Požadované Variant Číslo, výraz, odkaz na bunku alebo text, ktorý definuje, ktoré bunky sa majú počítať. Výraz môže byť napríklad 20, "20", ">20", "fruit" alebo B2.
  • Typ návratu

Hodnota ako Double

6 príkladov použitia funkcie COUNTIF v programe Excel pomocou VBA

V tejto časti sa dozviete, ako používať COUNTIF funkcie v programe Excel na počítanie textov, čísel atď. VBA kód.

1. Funkcia WorksheetFunction s COUNTIF v aplikácii Excel VBA

Excel WorksheetFunction možno použiť na volanie väčšiny ostatných funkcií v programe Excel, ktoré sú k dispozícii v rámci funkcia Insert dialógové okno v programe Excel a COUNTIF je jednou z týchto funkcií.

Na uvedenom príklade sa naučíme používať WorksheetFunction s COUNTIF na počítanie údajov pomocou VBA v programe Excel.

Kroky:

  • Tlač Alt + F11 na klávesnici alebo prejdite na kartu Vývojár -> Visual Basic otvoriť Editor jazyka Visual Basic .

  • Vo vyskakovacom okne kódu kliknite na paneli ponúk na položku Vložiť -> Modul .

  • Skopírujte nasledujúci kód a vložte ho do okna kódu.
 Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub 

Váš kód je teraz pripravený na spustenie.

  • Tlač F5 na klávesnici alebo na paneli ponúk vyberte Run -> Run Sub/UserForm Môžete tiež jednoducho kliknúť na malá ikona Play na paneli podponúk, aby ste makro spustili.

Chceli sme zistiť, koľko čísel je v našom súbore dát menších ako 3. Po spustení kódu sme dostali výsledok 4, čo je počet čísel, ktoré sú menšie ako 3 v našom súbore dát.

Prečítajte si viac: Ako používať COUNTIF medzi dvoma číslami (4 metódy)

2. Funkcia COUNTIF na počítanie konkrétneho textu v programe Excel

Ak chcete spočítať konkrétny text, napríklad koľko miest, názvov alebo potravín atď. sa nachádza v hárku programu Excel, môžete použiť funkciu COUNTIF funkciu v VBA .

Na základe uvedeného príkladu sa naučíme používať COUNTIF spočítať, koľkokrát sa názov John sa v našom súbore údajov vyskytuje s VBA makro.

Kroky:

  • Rovnaký spôsob ako predtým, otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
  • V okne kódu skopírujte nasledujúci kód a vložte ho.
 Sub CountifText() 'vstup countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'výstup Range("E7") = countName End Sub 

Váš kód je teraz pripravený na spustenie.

  • Spustiť makro a získate celkový počet.

Ak nechcete text zapísať priamo do kódu, môžete ho najprv uložiť do premennej a neskôr ju odovzdať vo vnútri kódu. Rovnako ako v nasledujúcom kóde,

 Sub CountifText() 'vstup Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) 'výstup Range("E7") = countName End Sub 

Prečítajte si viac: Počítanie textu na začiatku pomocou funkcií COUNTIF & LEFT v programe Excel

3. Funkcia COUNTIF na výpočet čísla pomocou VBA

Môžete využiť COUNTIF na získanie určitých výsledkov.

Na základe uvedeného príkladu sa naučíme používať COUNTIF spočítať, koľko čísel je v našom súbore údajov, ktoré sú väčšia ako 1,1 s VBA makro.

Kroky:

  • Rovnaký spôsob ako predtým, otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
  • V okne kódu skopírujte nasledujúci kód a vložte ho.
 Sub CountifNumber() 'vstup countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'výstup Range("E7") = countNum End Sub 

Váš kód je teraz pripravený na spustenie.

  • Spustiť makro a získate celkový počet.

Ako už bolo spomenuté, ak nechcete číslo zapísať priamo do kódu, môžete ho najprv uložiť do premennej a neskôr ju odovzdať v kóde. Tak ako v nasledujúcom kóde,

 Sub CountifNumber() 'vstup Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">" & Num) 'výstup Range("E7") = countNum End Sub 

Prečítajte si viac: Excel COUNTIF s kritériami väčšími ako a menšími ako

Podobné čítania

  • Funkcia Excel COUNTIF na počítanie buniek väčších ako 0
  • Ako používať funkcie IF a COUNTIF spoločne v programe Excel
  • Excel COUNTIF na počítanie bunky, ktorá obsahuje text z inej bunky
  • Ako používať funkciu COUNTIF na výpočet percenta v programe Excel

4. Funkcia COUNTIF s rozsahom objektu v programe Excel

Skupinu buniek môžete priradiť k Objekt rozsahu a potom použite tento Objekt rozsahu na počítanie hodnôt v programe Excel.

Kroky:

  • Otvorte stránku Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
  • V okne kódu skopírujte nasledujúci kód a vložte ho.
 Sub ExCountIFRange() Dim iRng As Range 'priradenie rozsahu buniek Set iRng = Range("B5:B10") 'použitie rozsahu vo vzorci Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'uvoľnenie objektu rozsahu Set iRng = Nothing End Sub 

Váš kód je teraz pripravený na spustenie.

  • Spustiť kód a dostanete celkový počet so súčtovou hodnotou.

Prečítajte si viac: Ako používať COUNTIF pre nesúvislý rozsah v programe Excel

5. Metóda vzorca COUNTIF v programe Excel

Môžete tiež použiť Vzorec a/alebo FormulaR1C1 metóda na použitie COUNTIF do bunky v VBA Tieto metódy sú pri vykonávaní takýchto operácií flexibilnejšie.

5.1. Metóda vzorca

Vzorec metóda umožňuje špecifikovať rozsah buniek ako B5:B10 uvedené v príklade nižšie.

Kroky:

  • V okne kódu Editor jazyka Visual Basic , skopírujte nasledujúci kód a vložte ho.
 Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub 

Váš kód je teraz pripravený na spustenie.

Táto časť kódu vám poskytne celkový počet požadovaných údajov.

5.2. Metóda FormulaR1C1

VzorecR1C1 metóda je flexibilnejšia, pretože sa neobmedzuje na určitý rozsah buniek.

S rovnakým súborom údajov sa teraz naučíme používať FormulaR1C1 na počítanie hodnôt v VBA .

Kroky:

  • V okne kódu Editor jazyka Visual Basic , skopírujte nasledujúci kód a vložte ho.
 Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

Váš kód je teraz pripravený na spustenie.

Tento kód vám tiež poskytne celkový počet požadovaných údajov.

Ak nechcete nastaviť rozsah výstupu, môžete tento kód urobiť ešte flexibilnejším, ak ho napíšete takto,

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

Vzorec spočíta bunky, ktoré spĺňajú podmienku, a odpoveď umiestni do ActiveCell vo vašom pracovnom hárku. Rozsah vnútri COUNTIF na funkciu sa musí odkazovať pomocou Riadok (R) a Stĺpec (C) syntax.

Prečítajte si viac: Ako použiť COUNTIF medzi dvoma hodnotami buniek v programe Excel

6. Priradenie výsledku funkcie COUNTIF k premennej

Ak chcete výsledok vzorca použiť inde ako v súbore údajov programu Excel, môžete ho priradiť do premennej a použiť ho neskôr v kóde.

Stránka VBA kód pre to je,

 Sub AssignCountIfVariable() Dim iResult As Double 'Priradiť premennú iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Zobraziť výsledok MsgBox "Počet buniek s hodnotou menšou ako 3 je " & iResult End Sub 

Výsledok sa zobrazí v okne správy programu Excel.

Prečítajte si viac: COUNTIF Excel Príklad (22 príkladov)

Záver

Tento článok vám ukázal, ako používať COUNTIF funkcie v programe Excel pomocou VBA . dúfam, že tento článok bol pre vás veľmi prínosný. Ak máte akékoľvek otázky týkajúce sa tejto témy, neváhajte sa opýtať.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.