Vzorce aplikace Excel pro počítání buněk s textem: libovolné, konkrétní nebo filtrované buňky

  • Sdílet Toto
Michael Brown

Jak spočítat buňky s textem v aplikaci Excel? Existuje několik různých vzorců pro počítání buněk, které obsahují libovolný text, určité znaky nebo pouze filtrované buňky. Všechny vzorce fungují v aplikacích Excel 365, 2021, 2019, 2016, 2013 a 2010.

Původně byly tabulky Excelu určeny pro práci s čísly. V dnešní době je však často používáme i k ukládání a manipulaci s textem. Chcete zjistit, kolik buněk s textem se nachází ve vašem listu? Microsoft Excel má pro tento účel několik funkcí. Kterou z nich byste měli použít? Záleží na situaci. V tomto návodu najdete různé vzorce a kdy je nejlepší ten který vzorec použít.použity.

    Jak spočítat počet buněk s textem v aplikaci Excel

    Existují dva základní vzorce pro zjištění, kolik buněk v daném rozsahu obsahuje libovolný textový řetězec nebo znak.

    Vzorec COUNTIF pro počítání všech buněk s textem

    Chcete-li v aplikaci Excel zjistit počet buněk s textem, použijte funkci COUNTIF s hvězdičkou v poli. kritéria argument je nejlepším a nejjednodušším řešením:

    COUNTIF( rozsah , "*")

    Protože hvězdička (*) je zástupný znak, který odpovídá libovolné posloupnosti znaků, vzorec počítá všechny buňky, které obsahují libovolný text.

    Vzorec SUMPRODUCT pro počítání buněk s libovolným textem

    Dalším způsobem, jak získat počet buněk obsahujících text, je kombinace funkcí SUMPRODUCT a ISTEXT:

    SUMPRODUCT(--ISTEXT( rozsah ))

    Nebo

    SUMPRODUCT(ISTEXT( rozsah )*1)

    Funkce ISTEXT zkontroluje, zda každá buňka v zadaném rozsahu obsahuje nějaké textové znaky, a vrátí pole hodnot TRUE (buňky s textem) a FALSE (ostatní buňky). Dvojitá jednosměrná operace (--) nebo operace násobení přetvoří hodnoty TRUE a FALSE na 1, resp. 0, a vytvoří pole jedniček a nul. Funkce SUMPRODUCT sečte všechny prvky pole a vrátí počet jedniček a nul.1, což je počet buněk, které obsahují text.

    Chcete-li lépe pochopit, jak tyto vzorce fungují, podívejte se, které hodnoty se započítávají a které ne:

    Co se počítá Co se nezapočítává
    • Buňky s libovolným textem
    • Speciální znaky
    • Čísla formátovaná jako text
    • Vizuálně prázdné buňky, které obsahují prázdný řetězec (""), apostrof ('), mezeru nebo netisknutelné znaky.
    • Čísla
    • Data
    • Logické hodnoty TRUE a FALSE
    • Chyby
    • Prázdné buňky

    Chcete-li například spočítat buňky s textem v rozsahu A2:A10 s výjimkou čísel, dat, logických hodnot, chyb a prázdných buněk, použijte jeden z těchto vzorců:

    =COUNTIF(A2:A10, "*")

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

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

    Výsledek je zobrazen na následujícím snímku obrazovky:

    Počítání buněk s textem bez mezer a prázdných řetězců

    Výše uvedené vzorce počítají všechny buňky, ve kterých se nacházejí jakékoliv textové znaky. V některých situacích to však může být matoucí, protože některé buňky mohou pouze vypadat prázdné, ale ve skutečnosti obsahují znaky neviditelné lidským okem, jako jsou prázdné řetězce, apostrofy, mezery, zalomení řádků atd. V důsledku toho vzorec započítá i vizuálně prázdnou buňku, což způsobí, že uživatel vytáhne svůjvlasy se snaží přijít na to, proč :)

    Chcete-li zpočtu vyloučit "falešně pozitivní" prázdné buňky, použijte funkci COUNTIFS se znakem "vyloučeno" ve druhém kritériu.

    Chcete-li například spočítat buňky s textem v rozsahu A2:A7 a ignorovat ty, které obsahují znaky prostorový znak , použijte tento vzorec:

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

    Pokud váš cílový rozsah obsahuje data řízená vzorci, některé vzorce mohou vést k tomu, že se v cílovém rozsahu prázdný řetězec (""). Chcete-li ignorovat buňky se symbolem prázdné řetězce také nahraďte "*" za "*?*" v položce kritéria1 argument:

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

    Otazník obklopený hvězdičkami znamená, že v buňce by měl být alespoň jeden textový znak. Protože prázdný řetězec neobsahuje žádné znaky, nesplňuje kritéria a nezapočítává se. Nezapočítávají se ani prázdné buňky začínající apostrofem (').

    Na obrázku níže je v buňce A7 mezera, v A8 apostrof a v A9 prázdný řetězec (=""). Náš vzorec všechny tyto buňky vynechá a vrátí počet textových buněk 3:

    Jak počítat buňky s určitým textem v aplikaci Excel

    Chcete-li zjistit počet buněk, které obsahují určitý text nebo znak, jednoduše zadejte tento text do příkazu kritéria argument funkce COUNTIF. Níže uvedené příklady vysvětlují nuance.

    Shoda se vzorovým textem přesně , zadejte celý text v uvozovkách:

    COUNTIF( rozsah , " text ")

    Počítání buněk s částečné zápas , umístěte text mezi dvě hvězdičky, které představují libovolný počet znaků před a za textem:

    COUNTIF( rozsah , "* text *")

    Chcete-li například zjistit, kolik buněk v rozsahu A2:A7 obsahuje přesně slovo "banány", použijte tento vzorec:

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

    Chcete-li spočítat všechny buňky, které obsahují slovo "banány" jako součást svého obsahu na libovolné pozici, použijte tento příkaz:

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

    Aby byl vzorec uživatelsky přívětivější, můžete kritéria umístit do předem definované buňky, například D2, a odkaz na buňku vložit do druhého argumentu:

    =COUNTIF(A2:A7, D2)

    V závislosti na zadání v D2 může vzorec zcela nebo částečně odpovídat vzorovému textu:

    • Pro úplnou shodu zadejte celé slovo nebo frázi tak, jak je uvedeno ve zdrojové tabulce, např. Banány .
    • Pro částečnou shodu zadejte vzorový text obklopený zástupnými znaky, např. *Banány* .

    Vzhledem k tomu, že vzorec je rozlišování velkých a malých písmen , nemusíte se starat o velikost písmen, což znamená, že *banány* bude fungovat stejně dobře.

    Alternativně lze počítat buňky s částečná shoda , spojte odkaz na buňku a zástupné znaky, jako např:

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

    Další informace naleznete v části Jak počítat buňky s určitým textem v aplikaci Excel.

    Jak počítat filtrované buňky s textem v aplikaci Excel

    Při použití filtru aplikace Excel k zobrazení pouze dat relevantních v daném okamžiku může být někdy nutné počítat. viditelné buňky s textem . Bohužel pro tento úkol neexistuje řešení na jedno kliknutí, ale níže uvedený příklad vás pohodlně provede jednotlivými kroky.

    Předpokládejme, že máte tabulku jako na obrázku níže. Některé položky byly vytaženy z větší databáze pomocí vzorců a cestou se vyskytly různé chyby. Hledáte celkový počet položek ve sloupci A. Když jsou vidět všechny řádky, funguje vzorec COUNTIF, který jsme použili pro počítání buněk s textem:

    =COUNTIF(A2:A10, "*")

    A nyní seznam zúžíte podle nějakého kritéria, například vyfiltrujete položky s množstvím větším než 10. Otázka zní - kolik položek zůstalo?

    Počítat filtrované buňky s textem , je třeba udělat toto:

    1. Ve zdrojové tabulce zviditelněte všechny řádky. Za tímto účelem vymažte všechny filtry a zrušte skryté řádky.
    2. Přidejte pomocný sloupec se vzorcem SUBTOTAL, který označuje, zda je řádek filtrován, nebo ne.

      K manipulaci filtrované buňky , použijte 3 pro function_num argument:

      =SUBTOTAL(3, A2)

      Identifikace všechny skryté buňky , ručně odfiltrované a skryté, vložte 103 do položky function_num :

      =SUBTOTAL(103, A2)

      V tomto příkladu chceme počítat pouze viditelné buňky s textem bez ohledu na to, jak byly ostatní buňky skryté, takže druhý vzorec zadáme do A2 a zkopírujeme ho dolů do A10.

      Pro viditelné buňky vzorec vrací 1. Jakmile některé řádky odfiltrujete nebo ručně skryjete, vzorec pro ně vrátí 0. (Tyto nuly neuvidíte, protože jsou vráceny pro skryté řádky. Chcete-li se ujistit, že to takto funguje, zkopírujte obsah skryté buňky se vzorcem Mezisoučet do libovolné viditelné buňky, řekněme =D2, za předpokladu, že řádek 2 je skrytý.)

    3. Použijte funkci COUNTIFS se dvěma různými criteria_range / kritéria dvojic pro počítání viditelných buněk s textem:
      • Kritérium1 - vyhledá buňky s libovolným textem ("*") v rozsahu A2:A10.
      • Kritérium2 - hledá 1 v rozsahu D2:D10 pro detekci viditelných buněk.

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

    Nyní můžete data filtrovat podle svých představ a vzorec vám řekne, kolik filtrovaných buněk ve sloupci A obsahuje text (v našem případě 3):

    Pokud nechcete do pracovního listu vkládat další sloupec, budete ke splnění úkolu potřebovat delší vzorec. Stačí si vybrat ten, který se vám více líbí:

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

    =SUMPRODUCT(MEZISOUČET(103, OFFSET(A2:A10, ŘÁDEK(A2:A10) - MIN(ŘÁDEK(A2:A10)),,1)), -- (ISTEXT(A2:A10)))

    Operátor násobení bude fungovat také:

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

    =SOUČIN(MEZISOUČET(103, OFFSET(A2:A10, ŘÁDEK(A2:A10)-MIN(ŘÁDEK(A2:A10)),,1)) * (ISTEXT(A2:A10)))

    Který vzorec použijete, záleží na vašich osobních preferencích - výsledek bude v každém případě stejný:

    Jak tyto vzorce fungují

    První vzorec využívá funkci INDIRECT, která "přivádí" jednotlivé odkazy na všechny buňky v zadaném rozsahu do funkce SUBTOTAL. Druhý vzorec využívá ke stejnému účelu kombinaci funkcí OFFSET, ROW a MIN.

    Funkce SUBTOTAL vrací pole jedniček a nul, kde jedničky představují viditelné buňky a nuly skryté buňky (jako výše uvedený pomocný sloupec).

    Funkce ISTEXT kontroluje každou buňku v A2:A10 a vrací TRUE, pokud buňka obsahuje text, a FALSE v opačném případě. Dvojitý unární operátor (--) mění hodnoty TRUE a FALSE na 1 a 0. V tomto okamžiku vypadá vzorec takto:

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

    Funkce SUMPRODUCT nejprve vynásobí prvky obou polí na stejných pozicích a poté výsledné pole sečte.

    Protože vynásobením nulou získáme nulu, mají v konečném poli hodnotu 1 pouze buňky, které jsou v obou polích reprezentovány hodnotou 1.

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

    A počet jedniček ve výše uvedeném poli je počet viditelných buněk, které obsahují text.

    To je návod, jak v Excelu počítat buňky s textem. Děkuji vám za přečtení a doufám, že se příští týden uvidíme na našem blogu!

    Dostupné soubory ke stažení

    Vzorce aplikace Excel pro počítání buněk s textem

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.