Obsah
Na stránkách COUNTIF se v Excelu používá k počítání počtu buněk v rozsahu, které splňují danou podmínku. V tomto článku si ukážeme, jak použít funkci COUNTIF funkce v aplikaci Excel s VBA makro.
Stáhnout pracovní sešit
Bezplatný cvičný sešit aplikace Excel si můžete stáhnout zde.
Funkce COUNTIF s VBA.xlsm
Funkce COUNTIF v aplikaci Excel
- Syntaxe
WorksheetFunction.CountIf( Arg1 Jako rozsah, Arg2 ) jako Double
- Parametry
Parametr | Povinné/nepovinné | Typ dat | Popis |
---|---|---|---|
Arg1 | Požadované | Rozsah | Rozsah buněk z počtu buněk. |
Arg2 | Požadované | Varianta | Číslo, výraz, odkaz na buňku nebo text, který určuje, které buňky se mají počítat. Výraz může být například 20, "20", ">20", "fruit" nebo B2. |
- Typ návratu
Hodnota jako Double
6 příkladů použití funkce COUNTIF v aplikaci Excel pomocí VBA
V této části se dozvíte, jak používat funkci COUNTIF funkce v Excelu pro počítání textů, čísel atd. s VBA kód.
1. Funkce WorksheetFunction s COUNTIF v aplikaci Excel VBA
Aplikace Excel WorksheetFunction lze použít k volání většiny ostatních funkcí v Excelu, které jsou k dispozici v rámci. funkce Insert dialogové okno v aplikaci Excel a COUNTIF je jednou z těchto funkcí.
Na výše uvedeném příkladu se naučíme, jak používat příkaz WorksheetFunction s COUNTIF počítat data pomocí VBA v aplikaci Excel.
Kroky:
- Tisk Alt + F11 na klávesnici nebo přejděte na kartu Vývojář -> Visual Basic otevřít Editor jazyka Visual Basic .
- Ve vyskakovacím okně kódu klikněte na panelu nabídek na možnost Insert -> Modul .
- Zkopírujte následující kód a vložte jej do okna kódu.
Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub
Váš kód je nyní připraven ke spuštění.
- Tisk F5 na klávesnici nebo na panelu nabídek vyberte možnost Run -> Run Sub/UserForm . Můžete také kliknout na malá ikona Play na panelu podnabídek spustíte makro.
Chtěli jsme zjistit, kolik je v našem souboru čísel, která jsou menší než 3. Po spuštění kódu jsme tedy dostali výsledek 4, což je počet čísel, která jsou menší než 3 pro náš soubor dat.
Přečtěte si více: Jak používat COUNTIF mezi dvěma čísly (4 metody)
2. Funkce COUNTIF pro počítání určitého textu v aplikaci Excel
Pokud chcete spočítat konkrétní text, například kolik měst, názvů nebo potravin atd. je v listu aplikace Excel, můžete použít příkaz COUNTIF funkce v VBA .
Z výše uvedeného příkladu se dozvíme, jak používat příkaz COUNTIF spočítat, kolikrát se jméno John se v našem souboru dat vyskytuje s VBA makro.
Kroky:
- Stejným způsobem jako dříve, otevřete Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
- V okně kódu zkopírujte a vložte následující kód.
Sub CountifText() 'vstup countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'výstup Range("E7") = countName End Sub
Váš kód je nyní připraven ke spuštění.
- Spusťte makro a získáte celkový počet.
Pokud nechcete psát text přímo v kódu, můžete jej nejprve uložit do proměnné a později ji předat uvnitř kódu. Stejně jako v následujícím kódu,
Sub CountifText() 'vstup Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) 'výstup Range("E7") = countName End Sub
Přečtěte si více: Počítání textu na začátku pomocí funkcí COUNTIF & LEFT v aplikaci Excel
3. Funkce COUNTIF pro výpočet čísla pomocí VBA
Můžete využít COUNTIF funkce pro získání určitých výsledků.
Z výše uvedeného příkladu se dozvíme, jak používat příkaz COUNTIF spočítat, kolik je v našem souboru dat čísel, která jsou větší než 1,1 s VBA makro.
Kroky:
- Stejným způsobem jako dříve, otevřete Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
- V okně kódu zkopírujte a vložte následující kód.
Sub CountifNumber() 'vstup countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'výstup Range("E7") = countNum End Sub
Váš kód je nyní připraven ke spuštění.
- Spustit makro a získáte celkový počet.
Jak již bylo řečeno, pokud nechcete číslo zapsat přímo do kódu, můžete jej nejprve uložit do proměnné a později ji předat uvnitř kódu. Stejně jako v následujícím kódu,
Sub CountifNumber() 'vstup Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">" & Num) 'výstup Range("E7") = countNum End Sub
Přečtěte si více: Excel COUNTIF s kritérii větší než a menší než
Podobná čtení
- Funkce COUNTIF aplikace Excel pro počítání buněk větších než 0
- Jak používat funkce IF a COUNTIF společně v aplikaci Excel
- Excel COUNTIF pro počítání buněk, které obsahují text z jiné buňky
- Jak používat funkci COUNTIF pro výpočet procenta v aplikaci Excel
4. Funkce COUNTIF s rozsahem objektu v aplikaci Excel
Skupinu buněk můžete přiřadit k Objekt rozsahu a pak použijte tento Objekt rozsahu počítat hodnoty v aplikaci Excel.
Kroky:
- Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
- V okně kódu zkopírujte a vložte následující kód.
Sub ExCountIFRange() Dim iRng As Range 'přiřadit rozsah buněk Set iRng = Range("B5:B10") 'použít rozsah ve vzorci Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'uvolnit objekt rozsahu Set iRng = Nothing End Sub
Váš kód je nyní připraven ke spuštění.
- Spustit kód a získáte celkový počet se součtovou hodnotou.
Přečtěte si více: Jak používat COUNTIF pro nesouvislý rozsah v aplikaci Excel
5. Metoda vzorce COUNTIF v aplikaci Excel
Můžete také použít Vzorec a/nebo VzorecR1C1 použít metodu COUNTIF do buňky v VBA . Tyto metody jsou při provádění takových operací flexibilnější.
5.1. Metoda vzorce
Vzorec umožňuje zadat rozsah buněk jako B5:B10 zobrazené níže v příkladu.
Kroky:
- V okně kódu Editor jazyka Visual Basic , zkopírujte následující kód a vložte jej.
Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub
Váš kód je nyní připraven ke spuštění.
Tato část kódu vám poskytne celkový počet požadovaných dat.
5.2. Metoda FormulaR1C1
VzorecR1C1 je flexibilnější, protože se neomezuje na určitý rozsah buněk.
Se stejnou sadou dat se nyní naučíme používat VzorecR1C1 počítat hodnoty v VBA .
Kroky:
- V okně kódu Editor jazyka Visual Basic , zkopírujte následující kód a vložte jej.
Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub
Váš kód je nyní připraven ke spuštění.
Tento kód vám také poskytne celkový počet požadovaných dat.
Pokud nechcete nastavovat rozsah výstupu, můžete tento kód ještě více zpružnit takto,
Option Explicit Sub ExCountIfFormulaRC() ActiveCell.FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub
Vzorec spočítá buňky, které splňují podmínku, a odpověď umístí do pole ActiveCell v pracovním listu. Rozsah uvnitř pole COUNTIF na funkci se musí odkazovat pomocí příkazu Řada (R) a Sloupec (C) syntaxe.
Přečtěte si více: Jak použít COUNTIF mezi dvěma hodnotami v buňkách v aplikaci Excel
6. Přiřazení výsledku funkce COUNTIF proměnné
Pokud chcete výsledek vzorce použít jinde než v datové sadě aplikace Excel, můžete jej přiřadit proměnné a použít jej později v kódu.
Na stránkách VBA kód pro tento účel je,
Sub AssignCountIfVariable() Dim iResult As Double 'Přiřazení proměnné iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Zobrazení výsledku MsgBox "Počet buněk s hodnotou menší než 3 je " & iResult End Sub
Výsledek se zobrazí v okně zprávy aplikace Excel.
Přečtěte si více: COUNTIF Excel Příklad (22 příkladů)
Závěr
Tento článek vám ukázal, jak používat COUNTIF funkce v aplikaci Excel s VBA . doufám, že pro vás byl tento článek velmi přínosný. Pokud máte k tématu nějaké dotazy, neváhejte se zeptat.