VBA COUNTIF funkcija programoje "Excel" (6 pavyzdžiai)

  • Pasidalinti
Hugh West

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

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.