Excel: meghatározott szöveget tartalmazó cellák számolása (pontos és részleges egyezés)

  • Ossza Meg Ezt
Michael Brown

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:

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

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.