Sisällysluettelo
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ä.