VBA COUNTIF -funktio Excelissä (6 esimerkkiä)

  • Jaa Tämä
Hugh West

The COUNTIF funktiota käytetään Excelissä laskemaan niiden solujen määrä alueella, jotka täyttävät annetun ehdon. Tässä artikkelissa näytämme, miten käyttää funktiota COUNTIF toiminto Excelissä VBA makro.

Lataa työkirja

Voit ladata ilmaisen harjoitus-Excel-työkirjan täältä.

COUNTIF-funktio VBA.xlsm:llä

COUNTIF-funktio Excelissä

  • Syntaksi

WorksheetFunction.CountIf( Arg1 Kuten Range, Arg2 ) As Double

  • Parametrit
Parametri Pakollinen/ Valinnainen Tietotyyppi Kuvaus
Arg1 Vaadittu Valikoima

Soluväli solujen laskentasoluista.

Arg2 Vaadittu Vaihtoehto Luku, lauseke, soluviittaus tai teksti, joka määrittelee laskettavat solut. Lauseke voi olla esimerkiksi 20, "20", ">20", "fruit" tai B2.
  • Palautustyyppi

Arvo kuin Double

6 esimerkkiä COUNTIF-funktion käyttämisestä Excelissä VBA:n avulla

Tässä osiossa opit, miten käyttää COUNTIF toiminto Excelissä tekstien, numeroiden jne. laskemiseksi. VBA koodi.

1. WorksheetFunction ja COUNTIF Excel VBA:ssa

Excelin WorksheetFunction voidaan kutsua useimpia muita Excelin toimintoja, jotka ovat käytettävissä Excelissä. Insert-toiminto Excelin valintaikkuna ja COUNTIF toiminto on yksi näistä toiminnoista.

Yllä olevan esimerkin avulla opimme käyttämään komentoa WorksheetFunction kanssa COUNTIF laskea tietoja VBA Excelissä.

Vaiheet:

  • Paina Alt + F11 näppäimistöllä tai siirry välilehdelle Kehittäjä -> Visual Basic avata Visual Basic Editor .

  • Valitse ponnahdusikkunan valikkoriviltä seuraava vaihtoehto Lisää -> Moduuli .

  • Kopioi seuraava koodi ja liitä se koodiikkunaan.
 Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub 

Koodisi on nyt valmis ajettavaksi.

  • Paina F5 näppäimistöllä tai valitse valikkoriviltä Suorita -> Suorita Sub/UserForm . Voit myös vain klikata pieni Play-kuvake alivalikkopalkissa makron suorittamiseksi.

Halusimme saada selville, kuinka monta numeroa tietokokonaisuudessamme on alle 3. Koodin suorittamisen jälkeen saimme tulokseksi 4, joka on niiden numeroiden määrä, jotka ovat alle 3 tietokokonaisuudessamme.

Lue lisää: Kuinka käyttää COUNTIFia kahden numeron välillä (4 menetelmää)?

2. COUNTIF-funktio tietyn tekstin laskemiseksi Excelissä

Jos haluat laskea tietyn tekstin, kuten kuinka monta kaupunkia, nimeä tai ruokaa jne. on Excel-taulukossa, voit käyttää komentoa "Laskenta". COUNTIF toiminto VBA .

Yllä olevasta esimerkistä opimme, miten käyttää komentoa COUNTIF laskea, kuinka monta kertaa nimi John esiintyy aineistossamme VBA makro.

Vaiheet:

  • Samalla tavalla kuin ennenkin, avaa Visual Basic Editor alkaen Kehittäjä välilehti ja Lisää a Moduuli koodiikkunassa.
  • Kopioi koodiikkunaan seuraava koodi ja liitä se.
 Sub CountifText() 'input countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'output Range("E7") = countName End Sub 

Koodisi on nyt valmis ajettavaksi.

  • Suorita makro ja saat kokonaislukeman.

Jos et halua kirjoittaa tekstiä suoraan koodiin, voit tallentaa sen ensin muuttujaan ja myöhemmin siirtää muuttujan koodin sisällä. Aivan kuten alla olevassa koodissa,

 Sub CountifText() 'input Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) 'output Range("E7") = countName End Sub 

Lue lisää: Laske tekstiä alussa COUNTIF & LEFT-funktiot Excelissä

3. COUNTIF-funktio numeron laskemiseksi VBA:lla

Voit käyttää COUNTIF funktio tiettyjen tulosten poimimiseksi.

Yllä olevasta esimerkistä opimme, miten käyttää komentoa COUNTIF laskea, kuinka monta numeroa tietokannassamme on numeroita, jotka ovat suurempi kuin 1,1 kanssa VBA makro.

Vaiheet:

  • Samalla tavalla kuin ennenkin, avaa Visual Basic Editor alkaen Kehittäjä välilehti ja Lisää a Moduuli koodiikkunassa.
  • Kopioi koodiikkunaan seuraava koodi ja liitä se.
 Sub CountifNumber() 'input countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'output Range("E7") = countNum End Sub 

Koodisi on nyt valmis ajettavaksi.

  • Suorita makro ja saat kokonaislukeman.

Kuten aiemmin on todettu, jos et halua kirjoittaa numeroa suoraan koodiin, voit tallentaa sen ensin muuttujaan ja siirtää sen myöhemmin koodin sisällä. Kuten alla olevassa koodissa,

 Sub CountifNumber() 'input Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">" & Num) 'output Range("E7") = countNum End Sub 

Lue lisää: Excel COUNTIF suuremmalla kuin ja pienemmällä kuin -kriteereillä varustettuna

Samanlaisia lukemia

  • Excel COUNTIF -funktio laskea soluja, jotka ovat suurempia kuin 0
  • IF- ja COUNTIF-funktioiden käyttäminen yhdessä Excelissä
  • Excel COUNTIF laskee solun, joka sisältää tekstiä toisesta solusta
  • Kuinka käyttää COUNTIF-funktiota prosenttiluvun laskemiseen Excelissa

4. COUNTIF-funktio, jossa on kohdealue Excelissä

Voit määrittää soluryhmän Range Object ja käytä sitten sitä Range Object laskea arvoja Excelissä.

Vaiheet:

  • Avaa Visual Basic Editor alkaen Kehittäjä välilehti ja Lisää a Moduuli koodiikkunassa.
  • Kopioi koodiikkunaan seuraava koodi ja liitä se.
 Sub ExCountIFRange() Dim iRng As Range 'Määritä solujen alue Set iRng = Range("B5:B10") 'käytä aluetta kaavassa Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'vapauta alueobjekti Set iRng = Nothing End Sub 

Koodisi on nyt valmis ajettavaksi.

  • Suorita koodia, niin saat kokonaislukumäärän ja summausarvon.

Lue lisää: Kuinka käyttää COUNTIFia Excelin ei-yhtenäisen alueen käyttämiseen?

5. COUNTIF-kaavamenetelmä Excelissä

Voit myös käyttää Kaava ja/tai KaavaR1C1 menetelmä soveltaa COUNTIF soluun VBA Nämä menetelmät ovat joustavampia tällaisten operaatioiden suorittamisessa.

5.1. Kaavamenetelmä

Kaava menetelmän avulla voidaan määrittää solujen alue seuraavasti B5:B10 joka näkyy alla olevassa esimerkissä.

Vaiheet:

  • Koodi-ikkunassa Visual Basic Editor kopioi seuraava koodi ja liitä se.
 Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub 

Koodisi on nyt valmis ajettavaksi.

Tämä koodinpätkä antaa sinulle tarvitsemiesi tietojen kokonaismäärän.

5.2. FormulaR1C1 -menetelmä

KaavaR1C1 menetelmä on joustavampi, koska se ei rajoita solujen määrää.

Saman tietokokonaisuuden avulla opettelemme nyt, miten käyttää KaavaR1C1 laskea arvot VBA .

Vaiheet:

  • Koodi-ikkunassa Visual Basic Editor kopioi seuraava koodi ja liitä se.
 Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

Koodisi on nyt valmis ajettavaksi.

Tämä koodi antaa sinulle myös tarvitsemiesi tietojen kokonaismäärän.

Jos et halua asettaa lähtöaluetta, voit tehdä tästä koodista vieläkin joustavamman kirjoittamalla näin,

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

Kaava laskee solut, jotka täyttävät ehdon, ja sijoittaa vastauksen kenttään ActiveCell Työarkkiin. Alueen sisällä oleva Range COUNTIF funktioon on viitattava käyttämällä Rivi (R) ja Sarake (C) syntaksi.

Lue lisää: Kuinka soveltaa COUNTIFia kahden solun arvojen välillä Excelissä

6. COUNTIF-funktion tuloksen osoittaminen muuttujaan

Jos haluat käyttää kaavan tulosta muualla kuin Excel-tietokannassa, voit määrittää tuloksen muuttujaan ja käyttää sitä myöhemmin koodissasi.

The VBA koodi on,

 Sub AssignCountIfVariable() Dim iResult As Double 'Määritä muuttuja iResult = Application.WorksheetFunction.CountIf(Range("B5:B10")), "<3") 'Näytä tulos MsgBox "Niiden solujen lukumäärä, joiden arvo on pienempi kuin 3, on " & iResult End Sub 

Tulos näytetään Excelin viestiruudussa.

Lue lisää: COUNTIF Excel esimerkki (22 esimerkkiä)

Päätelmä

Tässä artikkelissa näytettiin, miten käyttää COUNTIF toiminto Excelissä VBA Toivottavasti tästä artikkelista on ollut sinulle paljon hyötyä. Kysy rohkeasti, jos sinulla on aiheeseen liittyviä kysymyksiä.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.