Turinys
Svetainė COUNTIF funkcija "Excel" naudojama norint suskaičiuoti, kiek ląstelių diapazone atitinka nurodytą sąlygą. Šiame straipsnyje parodysime, kaip naudoti funkciją COUNTIF funkciją "Excel" programoje su VBA Makro.
Atsisiųsti darbo knygą
Nemokamą "Excel" pratybų sąsiuvinį galite atsisiųsti iš čia.
COUNTIF funkcija su VBA.xlsm
COUNTIF funkcija programoje "Excel
- Sintaksė
WorksheetFunction.CountIf( Arg1 Kaip diapazonas, Arg2 ) kaip dvigubas
- Parametrai
Parametras | Privalomas / pasirenkamas | Duomenų tipas | Aprašymas |
---|---|---|---|
Arg1 | Reikalinga | Diapazonas | Ląstelių diapazonas nuo skaičiavimo ląstelių. |
Arg2 | Reikalinga | Variantas | Skaičius, išraiška, langelio nuoroda arba tekstas, kuris apibrėžia, kuriuos langelius skaičiuoti. Pavyzdžiui, išraiška gali būti 20, "20", ">20", "fruit" arba B2. |
- Grąžinimo tipas
Vertė kaip Double
6 "Excel" funkcijos COUNTIF naudojimo pavyzdžiai naudojant VBA
Šiame skyriuje sužinosite, kaip naudoti COUNTIF "Excel" funkcija, skirta tekstams, skaičiams ir t. t. skaičiuoti su VBA kodas.
1. Darbalapio funkcija su COUNTIF "Excel VBA" programoje
"Excel Darbalapio funkcija gali būti naudojama iškviesti daugumą kitų "Excel" funkcijų, kurias galima įterpimo funkcija dialogo langą "Excel" ir COUNTIF funkcija yra viena iš tokių funkcijų.
Remdamiesi pirmiau pateiktu pavyzdžiu išmoksime, kaip naudoti Darbalapio funkcija su COUNTIF skaičiuoti duomenis su VBA "Excel" programoje.
Žingsniai:
- Paspauskite Alt + F11 klaviatūroje arba eikite į skirtuką Programuotojas -> "Visual Basic atidaryti "Visual Basic" redaktorius .
- Iššokančiame kodo lange meniu juostoje spustelėkite Insert -> Modulis .
- Nukopijuokite šį kodą ir įklijuokite jį į kodo langą.
Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub
Dabar jūsų kodas paruoštas paleisti.
- Paspauskite F5 klaviatūroje arba meniu juostoje pasirinkite Run -> Run Sub/UserForm Taip pat galite tiesiog spustelėti maža piktograma "Play submeniu juostoje, kad paleistumėte makrokomandą.
Norėjome sužinoti, kiek mūsų duomenų aibėje yra skaičių, mažesnių nei 3. Taigi, paleidę kodą, gavome rezultatą 4, t. y. skaičių, mažesnių nei 3, skaičių mūsų duomenų aibėje.
Skaityti daugiau: Kaip naudoti COUNTIF tarp dviejų skaičių (4 metodai)
2. COUNTIF funkcija konkrečiam tekstui skaičiuoti "Excel" programoje
Jei norite suskaičiuoti konkretų tekstą, pvz., kiek miestų, pavadinimų, maisto produktų ir t. t. yra "Excel" lape, galite naudoti COUNTIF funkcija VBA .
Iš pateikto pavyzdžio sužinosime, kaip naudoti COUNTIF suskaičiuoti, kiek kartų pavadinimas John mūsų duomenų rinkinyje pasitaiko su VBA Makro.
Žingsniai:
- Kaip ir anksčiau, atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Kodo lange nukopijuokite ir įklijuokite šį kodą.
Sub CountifText() 'input countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'output Range("E7") = countName End Sub
Dabar jūsų kodas paruoštas paleisti.
- Paleisti makrokomandą ir gausite bendrą skaičių.
Jei nenorite įrašyti teksto tiesiai į kodą, galite jį pirmiausia įrašyti į kintamąjį, o vėliau perduoti kintamąjį į kodą. Kaip toliau pateiktame kode,
Sub CountifText() 'įvestis Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) 'išvestis Range("E7") = countName End Sub
Skaityti daugiau: Skaičiuokite tekstą pradžioje naudodami COUNTIF & LEFT funkcijas programoje "Excel
3. COUNTIF funkcija skaičiui apskaičiuoti naudojant VBA
Galite naudoti COUNTIF funkciją, kad būtų galima išgauti tam tikrus rezultatus.
Iš pateikto pavyzdžio sužinosime, kaip naudoti COUNTIF suskaičiuoti, kiek mūsų duomenų rinkinyje yra skaičių, kurie yra didesnis nei 1,1 su VBA Makro.
Žingsniai:
- Kaip ir anksčiau, atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Kodo lange nukopijuokite ir įklijuokite šį kodą.
Sub CountifNumber() 'input countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'output Range("E7") = countNum End Sub
Dabar jūsų kodas paruoštas paleisti.
- Paleisti makrokomandą ir gausite bendrą skaičių.
Kaip aptarta anksčiau, jei nenorite įrašyti skaičiaus tiesiogiai į kodą, galite jį pirmiausia įrašyti į kintamąjį, o vėliau perduoti kintamąjį į kodą. Kaip toliau pateiktame kode,
Sub CountifNumber() 'įvestis Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">" & Num) 'išvestis Range("E7") = countNum End Sub
Skaityti daugiau: "Excel" COUNTIF su didesnio nei ir mažesnio nei kriterijais
Panašūs skaitiniai
- "Excel" COUNTIF funkcija, skirta skaičiuoti ląsteles, didesnes už 0
- Kaip "Excel" kartu naudoti IF ir COUNTIF funkcijas
- "Excel" COUNTIF skaičiuoti ląstelę, kurioje yra teksto iš kitos ląstelės
- Kaip naudoti COUNTIF funkciją procentams apskaičiuoti "Excel" programoje
4. COUNTIF funkcija su objekto diapazonu "Excel" programoje
Galite priskirti ląstelių grupę Kategorijos objektas ir tada naudokite šį Kategorijos objektas skaičiuoti vertes "Excel" programoje.
Žingsniai:
- Atviras "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Kodo lange nukopijuokite ir įklijuokite šį kodą.
Sub ExCountIFRange() Dim iRng As Range 'priskirti ląstelių diapazoną Set iRng = Range("B5:B10") 'naudoti diapazoną formulėje Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'paleisti diapazono objektą Set iRng = Nothing End Sub
Dabar jūsų kodas paruoštas paleisti.
- Paleisti kodą ir gausite bendrą skaičių su sumine verte.
Skaityti daugiau: Kaip naudoti COUNTIF nesiribojančiam diapazonui "Excel" programoje
5. COUNTIF formulės metodas programoje "Excel
Taip pat galite naudoti Formulė ir (arba) FormulėR1C1 metodą taikyti COUNTIF į ląstelę, esančią VBA . Šie metodai yra lankstesni atliekant tokias operacijas.
5.1. Formulės metodas
Formulė metodas leidžia nurodyti ląstelių diapazoną kaip B5:B10 parodyta toliau pateiktame pavyzdyje.
Žingsniai:
- Kodo lange "Visual Basic" redaktorius , nukopijuokite ir įklijuokite šį kodą.
Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub
Dabar jūsų kodas paruoštas paleisti.
Ši kodo dalis pateiks bendrą reikiamų duomenų skaičių.
5.2. FormulėsR1C1 metodas
FormulėR1C1 metodas yra lankstesnis, nes neapsiriboja nustatytu ląstelių intervalu.
Naudodami tą patį duomenų rinkinį dabar išmoksime, kaip naudoti FormulėR1C1 skaičiuoti reikšmes VBA .
Žingsniai:
- Kodo lange "Visual Basic" redaktorius , nukopijuokite ir įklijuokite šį kodą.
Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub
Dabar jūsų kodas paruoštas paleisti.
Šis kodas taip pat pateiks bendrą reikiamų duomenų skaičių.
Jei nenorite nustatyti išvesties diapazono, šį kodą galite padaryti dar lankstesnį, rašydami taip,
Option Explicit Sub ExCountIfFormulaRC() ActiveCell.FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub
Formulė suskaičiuos langelius, kurie atitinka sąlygą, ir įrašys atsakymą į ActiveCell savo darbalapyje. COUNTIF funkcija turi būti nurodoma naudojant Eilė (R) ir Stulpelis (C) sintaksė.
Skaityti daugiau: Kaip taikyti COUNTIF tarp dviejų ląstelių verčių "Excel" programoje
6. Funkcijos COUNTIF rezultato priskyrimas kintamajam
Jei norite naudoti formulės rezultatą ne "Excel" duomenų rinkinyje, o kitur, galite priskirti rezultatą kintamajam ir naudoti jį vėliau savo kode.
Svetainė VBA kodas yra,
Sub AssignCountIfVariable() Dim iResult As Double 'Priskirti kintamąjį iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Rodyti rezultatą MsgBox "Ląstelių, kurių vertė mažesnė nei 3, skaičius yra " & iResult End Sub
Rezultatas bus rodomas "Excel" pranešimo lange.
Skaityti daugiau: COUNTIF Excel pavyzdys (22 pavyzdžiai)
Išvada
Šiame straipsnyje buvo parodyta, kaip naudoti COUNTIF funkciją "Excel" programoje su VBA . tikiuosi, kad šis straipsnis jums buvo labai naudingas. Drąsiai klauskite, jei turite klausimų šia tema.