Obsah
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ť.