Vzorce programu Excel na počítanie buniek s textom: ľubovoľné, špecifické alebo filtrované bunky

  • Zdieľajte To
Michael Brown

Ako spočítať bunky s textom v programe Excel? Existuje niekoľko rôznych vzorcov na počítanie buniek, ktoré obsahujú akýkoľvek text, konkrétne znaky alebo len filtrované bunky. Všetky vzorce fungujú v programoch Excel 365, 2021, 2019, 2016, 2013 a 2010.

Pôvodne boli tabuľky programu Excel určené na prácu s číslami. V súčasnosti ich však často používame aj na ukladanie a manipuláciu s textom. Chcete zistiť, koľko buniek s textom sa nachádza vo vašom hárku? Microsoft Excel má na to niekoľko funkcií. Ktorú z nich by ste mali použiť? No, to závisí od situácie. V tomto návode nájdete rôzne vzorce a kedy je každý vzorec najlepšie použiť.použité.

    Ako počítať počet buniek s textom v programe Excel

    Existujú dva základné vzorce na zistenie, koľko buniek v danom rozsahu obsahuje akýkoľvek textový reťazec alebo znak.

    Vzorec COUNTIF na počítanie všetkých buniek s textom

    Keď chcete v programe Excel zistiť počet buniek s textom, funkcia COUNTIF s hviezdičkou v kritériá argument je najlepším a najjednoduchším riešením:

    COUNTIF( rozsah , "*")

    Keďže hviezdička (*) je zástupný znak, ktorý zodpovedá akejkoľvek postupnosti znakov, vzorec počíta všetky bunky, ktoré obsahujú akýkoľvek text.

    Vzorec SUMPRODUCT na počítanie buniek s akýmkoľvek textom

    Ďalším spôsobom, ako získať počet buniek obsahujúcich text, je kombinácia funkcií SUMPRODUCT a ISTEXT:

    SUMPRODUCT(--ISTEXT( rozsah ))

    Alebo

    SUMPRODUCT(ISTEXT( rozsah )*1)

    Funkcia ISTEXT skontroluje, či každá bunka v zadanom rozsahu obsahuje nejaké textové znaky, a vráti pole hodnôt TRUE (bunky s textom) a FALSE (ostatné bunky). Dvojitá unárna operácia (--) alebo operácia násobenia vynúti TRUE a FALSE na 1, resp. 0, čím vznikne pole jednotiek a núl. Funkcia SUMPRODUCT spočíta všetky prvky poľa a vráti počet1, čo je počet buniek, ktoré obsahujú text.

    Ak chcete lepšie pochopiť, ako tieto vzorce fungujú, pozrite si, ktoré hodnoty sa započítavajú a ktoré nie:

    Čo sa počíta Čo sa nepočíta
    • Bunky s ľubovoľným textom
    • Špeciálne znaky
    • Čísla formátované ako text
    • Vizuálne prázdne bunky, ktoré obsahujú prázdny reťazec (""), apostrof ('), medzeru alebo netlačiteľné znaky
    • Čísla
    • Dátumy
    • Logické hodnoty TRUE a FALSE
    • Chyby
    • Prázdne bunky

    Ak chcete napríklad spočítať bunky s textom v rozsahu A2:A10 s výnimkou čísel, dátumov, logických hodnôt, chýb a prázdnych buniek, použite jeden z týchto vzorcov:

    =COUNTIF(A2:A10, "*")

    =SUMPRODUCT(--ISTEXT(A2:A10))

    =SUMPRODUCT(ISTEXT(A2:A10)*1)

    Výsledok je zobrazený na nasledujúcej snímke obrazovky:

    Počítanie buniek s textom bez medzier a prázdnych reťazcov

    Vzorce uvedené vyššie počítajú všetky bunky, v ktorých sa nachádzajú akékoľvek textové znaky. V niektorých situáciách to však môže byť mätúce, pretože niektoré bunky môžu iba vyzerať prázdne, ale v skutočnosti obsahujú znaky neviditeľné ľudským okom, ako sú prázdne reťazce, apostrofy, medzery, zalomenia riadkov atď.vlasy sa snažia prísť na to, prečo :)

    Ak chcete z počtu vylúčiť "falošne pozitívne" prázdne bunky, použite funkciu COUNTIFS so znakom "vylúčené" v druhom kritériu.

    Napríklad, ak chcete spočítať bunky s textom v rozsahu A2:A7, pričom ignorujete tie, ktoré obsahujú priestorový znak , použite tento vzorec:

    =COUNTIFS(A2:A7, "*", A2:A7, " ")

    Ak váš cieľový rozsah obsahuje údaje riadené vzorcami, niektoré vzorce môžu viesť k prázdny reťazec (""). Ak chcete ignorovať bunky s prázdne reťazce tiež nahradiť "*" za "*?*" v kritériá1 argument:

    =COUNTIFS(A2:A9, "*?*", A2:A9, " ")

    Otáznik obklopený hviezdičkami znamená, že v bunke by mal byť aspoň jeden textový znak. Keďže prázdny reťazec neobsahuje žiadne znaky, nespĺňa kritériá a nezapočítava sa. Nezapočítavajú sa ani prázdne bunky, ktoré začínajú apostrofom (').

    Na obrázku nižšie je v bunke A7 medzera, v bunke A8 apostrof a v bunke A9 prázdny reťazec (=""). Náš vzorec všetky tieto bunky vynechá a vráti počet textových buniek 3:

    Ako počítať bunky s určitým textom v programe Excel

    Ak chcete získať počet buniek, ktoré obsahujú určitý text alebo znak, jednoducho zadajte tento text do kritériá argument funkcie COUNTIF. Nižšie uvedené príklady vysvetľujú nuansy.

    Zodpovedanie vzorovému textu presne , zadajte celý text v úvodzovkách:

    COUNTIF( rozsah , " text ")

    Počítanie buniek s čiastočné zápas , umiestnite text medzi dve hviezdičky, ktoré predstavujú ľubovoľný počet znakov pred a za textom:

    COUNTIF( rozsah , "* text *")

    Ak chcete napríklad zistiť, koľko buniek v rozsahu A2:A7 obsahuje presne slovo "banány", použite tento vzorec:

    =COUNTIF(A2:A7, "banány")

    Ak chcete spočítať všetky bunky, ktoré obsahujú slovo "banány" ako súčasť svojho obsahu na ľubovoľnej pozícii, použite tento príkaz:

    =COUNTIF(A2:A7, "*banány*")

    Aby bol vzorec používateľsky prívetivejší, môžete kritériá umiestniť do preddefinovanej bunky, napríklad D2, a odkaz na bunku uviesť v druhom argumente:

    =COUNTIF(A2:A7, D2)

    V závislosti od vstupu v D2 môže vzorec úplne alebo čiastočne zodpovedať vzorovému textu:

    • Pre úplnú zhodu zadajte celé slovo alebo slovné spojenie tak, ako je uvedené v zdrojovej tabuľke, napr. Banány .
    • Pre čiastočnú zhodu zadajte vzorový text obklopený zástupnými znakmi, napr. *Banány* .

    Keďže vzorec je rozlišovanie veľkých a malých písmen , nemusíte sa starať o veľkosť písmen, čo znamená, že *banány* bude fungovať rovnako.

    Alternatívne môžete počítať bunky s čiastočná zhoda , spojte odkaz na bunku a zástupné znaky, ako napr:

    =COUNTIF(A2:A7, "*"&D2&"*")

    Ďalšie informácie nájdete v časti Ako počítať bunky s konkrétnym textom v programe Excel.

    Ako počítať filtrované bunky s textom v programe Excel

    Pri použití filtra Excelu na zobrazenie len údajov relevantných v danom okamihu môže byť niekedy potrebné počítať viditeľné bunky s textom Žiaľ, na túto úlohu neexistuje riešenie na jedno kliknutie, ale nasledujúci príklad vás pohodlne prevedie jednotlivými krokmi.

    Predpokladajme, že máte tabuľku ako na obrázku nižšie. Niektoré položky boli vytiahnuté z väčšej databázy pomocou vzorcov a cestou sa vyskytli rôzne chyby. Hľadáte celkový počet položiek v stĺpci A. Keď sú viditeľné všetky riadky, vzorec COUNTIF, ktorý sme použili na počítanie buniek s textom, funguje na výbornú:

    =COUNTIF(A2:A10, "*")

    A teraz zoznam zúžite podľa nejakého kritéria, napríklad odfiltrujte položky s množstvom väčším ako 10. Otázka znie - koľko položiek zostalo?

    Počítanie filtrované bunky s textom , musíte urobiť toto:

    1. V zdrojovej tabuľke zviditeľnite všetky riadky. Na tento účel zrušte všetky filtre a zrušte skryté riadky.
    2. Pridajte pomocný stĺpec so vzorcom SUBTOTAL, ktorý označuje, či je riadok filtrovaný alebo nie.

      Zvládnuť filtrované bunky , použite 3 pre function_num argument:

      =SUBTOTAL(3, A2)

      Identifikovať všetky skryté bunky , odfiltrované a skryté ručne, vložte 103 do function_num :

      =SUBTOTAL(103, A2)

      V tomto príklade chceme počítať len viditeľné bunky s textom bez ohľadu na to, ako boli skryté ostatné bunky, takže druhý vzorec zadáme do A2 a skopírujeme ho do A10.

      Pre viditeľné bunky vzorec vráti 1. Akonáhle odfiltrujete alebo ručne skryjete niektoré riadky, vzorec pre ne vráti 0. (Tieto nuly neuvidíte, pretože sa vrátia pre skryté riadky. Ak sa chcete uistiť, že to takto funguje, stačí skopírovať obsah skrytej bunky so vzorcom Medzisúčet do ľubovoľnej viditeľnej bunky, povedzme =D2, za predpokladu, že riadok 2 je skrytý.)

    3. Použite funkciu COUNTIFS s dvoma rôznymi criteria_range / kritériá dvojíc na počítanie viditeľných buniek s textom:
      • Kritérium1 - vyhľadáva bunky s ľubovoľným textom ("*") v rozsahu A2:A10.
      • Kritérium2 - hľadá 1 v rozsahu D2:D10 na detekciu viditeľných buniek.

      =COUNTIFS(A2:A10, "*", D2:D10, 1)

    Teraz môžete údaje filtrovať požadovaným spôsobom a vzorec vám povie, koľko filtrovaných buniek v stĺpci A obsahuje text (v našom prípade 3):

    Ak nechcete do pracovného hárka vkladať ďalší stĺpec, budete na splnenie úlohy potrebovať dlhší vzorec. Stačí si vybrať ten, ktorý sa vám viac páči:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISTEXT(A2:A10)))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), -- (ISTEXT(A2:A10)))

    Operátor násobenia bude fungovať rovnako:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))) * (ISTEXT(A2:A10)))

    =SUMPRODUCT(MEDZISÚČET(103, OFFSET(A2:A10, RIADOK(A2:A10)-MIN(RIADOK(A2:A10)),,1)) * (ISTEXT(A2:A10)))

    Ktorý vzorec použijete, je vecou vašich osobných preferencií - výsledok bude v každom prípade rovnaký:

    Ako tieto vzorce fungujú

    Prvý vzorec využíva funkciu INDIRECT na "privedenie" jednotlivých odkazov na všetky bunky v zadanom rozsahu do funkcie SUBTOTAL. Druhý vzorec využíva na rovnaký účel kombináciu funkcií OFFSET, ROW a MIN.

    Funkcia SUBTOTAL vracia pole jednotiek a 0, kde jednotky predstavujú viditeľné bunky a nuly skryté bunky (ako vyššie uvedený pomocný stĺpec).

    Funkcia ISTEXT skontroluje každú bunku v A2:A10 a vráti TRUE, ak bunka obsahuje text, inak FALSE. Dvojitý unárny operátor (--) zmení hodnoty TRUE a FALSE na 1 a 0. V tomto okamihu vzorec vyzerá takto:

    =SUMPRODUCT({0;1;1;1;0;1;1;0;0}, {1;1;1;0;1;1;0;1;1})

    Funkcia SUMPRODUCT najprv vynásobí prvky oboch polí na rovnakých pozíciách a potom výsledné pole spočíta.

    Keďže vynásobením nulou dostaneme nulu, v konečnom poli majú 1 iba bunky reprezentované 1 v oboch poliach.

    =SUMPRODUCT({0;1;1;0;0;1;0;0;0})

    A počet jednotiek vo vyššie uvedenom poli je počet viditeľných buniek, ktoré obsahujú text.

    To je návod na to, ako počítať bunky s textom v programe Excel. Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!

    Dostupné súbory na stiahnutie

    Vzorce programu Excel na počítanie buniek s textom

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.