Tartalomjegyzék
A bemutató megmutatja, hogyan számolja meg az Excelben a bizonyos szöveget tartalmazó cellák számát. Talál képletpéldákat a pontos egyezésre, a részleges egyezésre és a szűrt cellákra.
A múlt héten azt néztük meg, hogyan számolja meg az Excelben a szöveget tartalmazó cellákat, vagyis az összes olyan cellát, amely bármilyen szöveget tartalmaz. Nagy információtömbök elemzésekor azt is tudni szeretné, hogy hány cella tartalmaz konkrét szöveget. Ez a bemutató elmagyarázza, hogyan lehet ezt egyszerű módon megtenni.
Hogyan számolja meg a cellákat adott szöveggel az Excelben
A Microsoft Excel rendelkezik egy speciális funkcióval a cellák feltételes megszámlálására, a COUNTIF függvénnyel. Mindössze annyit kell tennie, hogy megadja a célszövegsorozatot a kritériumok érv.
Íme egy általános Excel-képlet az adott szöveget tartalmazó cellák számának megszámlálásához:
COUNTIF(range, " szöveg ")A következő példa mutatja be működés közben. Tegyük fel, hogy van egy lista az A2:A10-es listában szereplő elemazonosítókkal, és meg akarja számolni azon cellák számát, amelyekben egy adott azonosító szerepel, mondjuk "AA-01". Írja be ezt a karakterláncot a második argumentumba, és ezt az egyszerű képletet kapja:
=COUNTIF(A2:A10, "AA-01")
Ahhoz, hogy a felhasználók a képlet módosítása nélkül megszámolhassák az adott szöveggel rendelkező cellákat, írja be a szöveget egy előre definiált cellába, mondjuk a D1-be, és adja meg a cellahivatkozást:
=COUNTIF(A2:A10, D1)
Megjegyzés: Az Excel COUNTIF funkciója case-insensitive Ha a nagy- és kisbetűket másképp szeretné kezelni, használja ezt a nagy- és kisbetű-érzékeny formulát.
Hogyan számoljuk meg a bizonyos szöveggel rendelkező cellákat (részleges egyezés)?
Az előző példában tárgyalt képlet pontosan megfelel a kritériumoknak. Ha egy cellában legalább egy eltérő karakter van, például egy extra szóköz a végén, az nem lesz pontos egyezés, és az ilyen cellát nem számoljuk be.
Ha meg szeretné találni azon cellák számát, amelyek tartalma bizonyos szöveget tartalmaz, akkor a feltételekben használjon helyettesítő karaktereket, nevezetesen csillagot (*), amely bármilyen karaktersorozatot vagy karaktert jelöl. A céltól függően a képlet a következőképpen nézhet ki.
Számolja meg azokat a cellákat, amelyek meghatározott szöveget tartalmaznak a legelején :
COUNTIF(range, " szöveg *")Számolja meg azokat a cellákat, amelyek bizonyos szöveget tartalmaznak bármelyik pozíció :
COUNTIF(range, "* szöveg *")Ha például azt szeretné megtudni, hogy az A2:A10 tartomány hány cellája kezdődik "AA" betűvel, használja ezt a képletet:
=COUNTIF(A2:A10, "AA*")
Az "AA"-t bármelyik pozícióban tartalmazó cellák számának kiszámításához használja ezt:
=COUNTIF(A2:A10, "*AA*")
A képletek dinamikusabbá tételéhez cserélje ki a keményen kódolt karakterláncokat cellahivatkozásokra.
Bizonyos szöveggel kezdődő cellák számolása:
=COUNTIF(A2:A10, D1& "*")
Olyan cellák számolása, amelyekben bárhol van bizonyos szöveg:
=COUNTIF(A2:A10, "*"&D1&"*")
Az alábbi képernyőkép mutatja az eredményeket:
Megszámolja az adott szöveget tartalmazó cellákat (nagy- és kisbetű-érzékeny)
Abban az esetben, ha kis- és nagybetűket kell megkülönböztetnie, a COUNTIF funkció nem fog működni. Attól függően, hogy pontos vagy részleges egyezést keres, más képletet kell készítenie.
Nagy- és kisbetű-érzékeny formula a meghatározott szöveget tartalmazó cellák számolásához (pontos egyezés)
A szöveges esetet felismerő, bizonyos szöveget tartalmazó cellák számának megszámlálásához a SUMPRODUCT és EXACT függvények kombinációját használjuk:
SUMPRODUCT(--EXACT(" szöveg ", tartomány ))Hogyan működik ez a képlet:
- Az EXACT összehasonlítja a tartomány minden egyes celláját a mintaszöveggel, és egy TRUE és FALSE értékekből álló tömböt ad vissza, a TRUE a pontos egyezéseket, a FALSE pedig az összes többi cellát. A dupla kötőjel (az úgynevezett dupla unáris ) a TRUE és FALSE értékeket 1-es és 0-s értékekre kényszeríti.
- A SUMPRODUCT összegzi a tömb összes elemét. Ez az összeg az 1-esek száma, ami a találatok száma.
Ha például meg szeretné kapni az A2:A10 cellák számát, amelyek tartalmazzák a D1 szövegét, és a kis- és nagybetűket különböző karakterekként kezelik, használja ezt a képletet:
=SUMPRODUCT(--EXACT(D1, A2:A10))
Nagy- és kisbetű-érzékeny képlet a meghatározott szöveget tartalmazó cellák számolásához (részleges egyezés)
Ahhoz, hogy egy olyan nagy- és kisbetű-érzékeny képletet hozzunk létre, amely egy cellában bárhol megtalálja a kívánt szöveges karakterláncot, 3 különböző függvényt használunk:
SUMPRODUCT(--(ISNUMBER(FIND(" szöveg ", tartomány ))))Hogyan működik ez a képlet:
- A nagy- és kisbetű-érzékeny FIND függvény a tartomány minden cellájában keresi a célszöveget. Ha sikerrel jár, a függvény az első karakter pozícióját adja vissza, ellenkező esetben a #VALUE! hibát. Az egyértelműség kedvéért nem kell tudnunk a pontos pozíciót, bármilyen szám (szemben a hibával) azt jelenti, hogy a cella tartalmazza a célszöveget.
- Az ISNUMBER függvény kezeli a FIND által visszaadott számok és hibák tömbjét, és a számokat TRUE-nak, minden mást FALSE-nak konvertál. A kettős unáris (--) a logikai értékeket egyesekre és nullákra kényszeríti.
- A SUMPRODUCT összegzi az 1-es és 0-s tömböt, és visszaadja azon cellák számát, amelyek tartalma a megadott szöveget tartalmazza.
A képlet valós adatokon való teszteléséhez keressük meg, hogy az A2:A10 cellák közül hány tartalmazza a D1-ben megadott részláncot:
=SUMPRODUCT(--(ISNUMBER(FIND(D1, A2:A10))))
És ez 3 számot ad vissza (A2, A3 és A6 cellák):
Hogyan számoljuk meg a szűrt cellákat adott szöveggel
Számolni látható elemek egy szűrt listában, 4 vagy több függvény kombinációját kell használnia attól függően, hogy pontos vagy részleges egyezést szeretne-e. A példák könnyebb követhetősége érdekében először vessünk egy gyors pillantást a forrásadatokra.
Tegyük fel, hogy van egy táblázata Rendelési azonosítók a B oszlopban és Mennyiség a C oszlopban, ahogy az alábbi képen látható. Egyelőre csak az 1-nél nagyobb mennyiségek érdekelnek, és ennek megfelelően szűrted a táblázatodat. A kérdés az - hogyan számolod meg a szűrt cellákat egy adott azonosítóval?
Formula a szűrt cellák számolásához adott szöveggel (pontos egyezés)
Azoknak a szűrt celláknak a megszámlálásához, amelyek tartalma pontosan megegyezik a minta szöveges karakterláncával, használja a következő képletek egyikét:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(B2:B10=F1)))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1))), --(B2:B10=F1)))
Ahol F1 a mintaszöveg, B2:B10 pedig a számolandó cellák.
Hogyan működnek ezek a képletek:
Mindkét képlet középpontjában 2 ellenőrzés áll:
- A látható és rejtett sorok azonosítása. Ehhez a SUBTOTAL függvényt használja a function_num Az összes egyedi cellahivatkozás megadásához a SUBTOTAL-nak használjuk az INDIRECT (az első képletben) vagy az OFFSET, ROW és MIN kombinációját (a második képletben). Mivel a célunk a látható és rejtett sorok megtalálása, nem igazán számít, hogy melyik oszlopra hivatkozunk (példánkban A). A művelet eredménye egy 1 és 0 értékekből álló tömb, ahol az egyesek a látható sorokat jelentiksorok és nullák - rejtett sorok.
- A megadott szöveget tartalmazó cellák keresése. Ehhez hasonlítsa össze a mintaszöveget (F1) a cellák tartományával (B2:B10). A művelet eredménye egy TRUE és FALSE értékekből álló tömb, amelyeket a double unary operátor segítségével 1-es és 0-s értékekre kényszerít.
Végül a SUMPRODUCT függvény megszorozza a két tömb azonos pozíciókban lévő elemeit, majd az így kapott tömböt összegzi. Mivel a nullával való szorzás nullát ad, csak azok a cellák, amelyek mindkét tömbben 1-es értékkel szerepelnek, a végső tömbben 1-es értékkel szerepelnek. Az 1-esek összege a megadott szöveget tartalmazó szűrt cellák száma.
Formula a szűrt cellák számolásához adott szöveggel (részleges egyezés)
Ha olyan szűrt cellákat szeretne számolni, amelyek bizonyos szöveget tartalmaznak a cellatartalom részeként, módosítsa a fenti képleteket a következőképpen. Ahelyett, hogy a mintaszöveget hasonlítaná össze a cellatartományokkal, keresse meg a célszöveget az ISNUMBER és a FIND használatával, ahogyan azt az egyik korábbi példában elmagyaráztuk:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10)))), --(ISNUMBER(FIND(F1, B2:B10))))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(ISNUMBER(FIND(F1, B2:B10))))
Ennek eredményeképpen a képletek egy adott szöveges karakterláncot a cella bármelyik pozíciójában megtalálnak:
Megjegyzés: A SUBTOTAL függvény 103-as értékkel a function_num argumentum, azonosítja az összes rejtett cellát, kiszűrve és manuálisan elrejtve. Ennek eredményeképpen a fenti képletek csak a látható sejtek függetlenül attól, hogy a láthatatlan cellákat hogyan rejtették el. Ha csak a kiszűrt cellákat szeretné kizárni, de a manuálisan elrejtetteket is be akarja vonni, használja a 3-as értéket a következőhöz function_num .
Így számolja meg az Excelben a bizonyos szöveget tartalmazó cellák számát. Köszönöm, hogy elolvasták, és remélem, jövő héten találkozunk a blogon!
Elérhető letöltések
Excel képletek bizonyos szöveggel rendelkező cellák számolásához