Zástupné znaky aplikace Excel: vyhledávání a nahrazování, filtrování, použití ve vzorcích s textem a čísly

  • Sdílet Toto
Michael Brown

Vše, co potřebujete vědět o zástupných znacích, na jedné stránce: co to jsou zástupné znaky, jak je nejlépe používat v aplikaci Excel a proč zástupné znaky nefungují s čísly.

Když něco hledáte, ale nevíte přesně co, jsou zástupné znaky ideálním řešením. Zástupný znak si můžete představit jako žolíka, který může nabývat libovolné hodnoty. V Excelu existují pouze 3 zástupné znaky (hvězdička, otazník a tilda), ale mohou dělat tolik užitečných věcí!

    Zástupné znaky aplikace Excel

    V aplikaci Microsoft Excel je zástupný znak speciální druh znaku, který může nahradit jakýkoli jiný znak. Jinými slovy, když neznáte přesný znak, můžete na tomto místě použít zástupný znak.

    Dva běžné zástupné znaky, které Excel rozpoznává, jsou hvězdička (*) a otazník (?). Tilda (~) nutí Excel považovat tyto znaky za běžné znaky, nikoli za zástupné znaky.

    Zástupné znaky se hodí v každé situaci, kdy potřebujete částečnou shodu. Můžete je použít jako srovnávací kritéria pro filtrování dat, k vyhledání položek, které mají nějakou společnou část, nebo k provedení fuzzy shody ve vzorcích.

    Hvězdička jako zástupný znak

    Hvězdička (*) je nejobecnější zástupný znak, který může představovat libovolný počet znaků Například:

    • ch* - odpovídá jakémukoli slovu začínajícímu na "ch", jako je například Charles , zkontrolujte , šachy , atd.
    • *ch - nahradí jakýkoli textový řetězec, který končí na "ch", jako např. Březen , palec , načíst , atd.
    • *ch* - představuje jakékoliv slovo, které obsahuje "ch" na libovolné pozici, jako např. Chad , bolest hlavy , arch , atd.

    Otazník jako zástupný znak

    Otazník (?) představuje jakýkoli jednotlivý znak . Může vám pomoci upřesnit hledání částečné shody. Například:

    • ? - odpovídá jakémukoli záznamu obsahujícímu jeden znak, např. "a", "1", "-" atd.
    • ?? - nahradí dva libovolné znaky, např. "ab", "11", "a*" atd.
    • ???-??? - představuje jakýkoli řetězec obsahující 2 skupiny 3 znaků oddělených pomlčkou, např. ABC-DEF , ABC-123 , 111-222 , atd.
    • p?i?e - zápalky cena , pride , cena a podobně.

    Tilde jako zástupný znak nulování

    Tilda (~) umístěná před zástupným znakem zruší účinek zástupného znaku a změní jej na doslovnou hvězdičku (~*), doslovný otazník (~?) nebo doslovnou tildu (~~). Například:

    • *~? - najde jakýkoli záznam končící otazníkem, např. Cože? , Je tam někdo? , atd.
    • *~** - vyhledá všechna data obsahující hvězdičku, např. *1 , *11* , 1. března 2020* , atd. V tomto případě jsou 1. a 3. hvězdička zástupné znaky, zatímco druhá hvězdička označuje doslovný znak hvězdičky.

    Hledání a nahrazování zástupných znaků v aplikaci Excel

    Použití zástupných znaků s funkcí Najít a nahradit v aplikaci Excel je poměrně všestranné. V následujících příkladech probereme několik běžných scénářů a upozorníme vás na několik upozornění.

    Jak vyhledávat pomocí zástupných znaků

    Ve výchozím nastavení Najít a nahradit dialogové okno je nakonfigurováno tak, aby hledalo zadaná kritéria kdekoli v buňce, nikoli aby odpovídalo celému obsahu buňky. Pokud například jako kritérium hledání použijete "AA", Excel vrátí všechny záznamy, které ho obsahují, jako např. AA-01 , 01-AA , 01-AA-02 , a tak dále. To ve většině situací funguje skvěle, ale za určitých okolností to může být komplikace.

    Předpokládejme, že v níže uvedeném souboru dat chcete najít ID, která se skládají ze 4 znaků oddělených pomlčkou. Najít a nahradit (Ctrl + F) , zadejte ??-?? v Zjistěte, co a stiskněte tlačítko Najít vše . Výsledek vypadá trochu zmateně, že?

    Technicky vzato, řetězce jako AAB-01 nebo BB-002 také vyhovují kritériím, protože obsahují podřetězec ??-??. Chcete-li je z výsledků vyloučit, klikněte na tlačítko Možnosti a zaškrtněte tlačítko Shoda celého obsahu buňky Nyní Excel omezí výsledky pouze na řetězce ??-??:

    Jak nahradit zástupným znakem

    V případě, že vaše data obsahují některé nejasné shody, mohou vám zástupné znaky pomoci rychle je vyhledat a sjednotit.

    Na obrázku níže vidíte dvě varianty pravopisu stejného města. Homel a Gomel . Rádi bychom nahradili obě verze jinou verzí - Homyel . (A ano, všechny tři pravopisné podoby mého rodného města jsou správné a všeobecně uznávané :)

    Chcete-li nahradit částečné shody, musíte provést následující kroky:

    1. Stisknutím klávesové zkratky Ctrl + H otevřete Vyměňte stránky na kartě Najít a nahradit dialog.
    2. V Zjistěte, co zadejte zástupný výraz: ?omel
    3. V Nahradit zadejte náhradní text: Homyel
    4. Klikněte na Nahradit vše tlačítko.

    A sledujte výsledky:

    Jak najít a nahradit zástupné znaky

    Chcete-li vyhledat znak, který Excel rozpozná jako zástupný znak, tj. doslovnou hvězdičku nebo otazník, zadejte do kritérií vyhledávání tildu (~). Chcete-li například vyhledat všechny položky obsahující hvězdičky, zadejte do pole Najít co ~*:

    Pokud chcete hvězdičky nahradit něčím jiným, přepněte na příkaz Vyměňte stránky a zadejte znak, který vás zajímá, do pole Nahradit Chcete-li odstranit všechny nalezené hvězdičkové znaky, ponechte pole Nahradit a klikněte na tlačítko Vyměňte všechny .

    Filtrování dat pomocí zástupných znaků v aplikaci Excel

    Zástupné znaky aplikace Excel jsou také velmi užitečné, pokud máte velký sloupec dat a chcete je filtrovat na základě podmínky.

    Předpokládejme, že v naší ukázkové sadě dat chcete filtrovat ID začínající na "B". Za tímto účelem proveďte následující:

    1. Přidejte filtr do buněk záhlaví. Nejrychlejší způsob je stisknout klávesovou zkratku Ctrl + Shift + L.
    2. Ve sloupci Cíl klikněte na rozevírací šipku filtru.
    3. V Vyhledávání zadejte kritéria, B* v našem případě.
    4. Klikněte na OK .

    Tím se okamžitě vyfiltrují data na základě kritérií zástupných znaků, jak je uvedeno níže:

    Zástupné znaky lze použít také v pokročilém filtru, což z něj může udělat příjemnou alternativu k regulárním výrazům (nazývaným také regexy ), které Excel nepodporuje. Další informace naleznete v části Rozšířený filtr Excelu se zástupnými znaky.

    Vzorce aplikace Excel se zástupným znakem

    Nejprve je třeba poznamenat, že zástupné znaky podporuje poměrně omezený počet funkcí aplikace Excel. Zde je seznam nejoblíbenějších funkcí, které je podporují, s příklady vzorců:

    AVERAGEIF se zástupnými znaky - vyhledá průměr (aritmetický průměr) buněk, které splňují zadanou podmínku.

    AVERAGEIFS - vrátí průměr buněk, které splňují více kritérií. Stejně jako AVERAGEIF ve výše uvedeném příkladu umožňuje zástupné znaky.

    COUNTIF se zástupnými znaky - počítá počet buněk na základě jednoho kritéria.

    COUNTIFS se zástupnými znaky - počítá počet buněk na základě více kritérií.

    SUMIF se zástupným znakem - sčítá buňky s podmínkou.

    SUMIFS - sčítá buňky s více kritérii. Stejně jako SUMIF ve výše uvedeném příkladu akceptuje zástupné znaky.

    VLOOKUP s náhradními znaky - provede vertikální vyhledávání s částečnou shodou.

    HLOOKUP s náhradním znakem - provede horizontální vyhledávání s částečnou shodou.

    XLOOKUP se zástupnými znaky - provede částečné vyhledání shody ve sloupci i v řádku.

    Vzorec MATCH se zástupnými znaky - vyhledá částečnou shodu a vrátí její relativní pozici.

    XMATCH se zástupnými znaky - moderní nástupce funkce MATCH, který rovněž podporuje přiřazování zástupných znaků.

    HLEDAT se zástupnými znaky - na rozdíl od funkce FIND, která rozlišuje malá a velká písmena, funkce HLEDAT bez rozlišení velkých a malých písmen rozumí zástupným znakům.

    Pokud potřebujete provést částečnou shodu s jinými funkcemi, které nepodporují zástupné znaky, budete muset najít řešení, jako je vzorec pro zástupné znaky IF v aplikaci Excel.

    Následující příklady ukazují některé obecné přístupy k používání zástupných znaků ve vzorcích aplikace Excel.

    Vzorec Excel COUNTIF se zástupným znakem

    Řekněme, že chcete spočítat počet buněk obsahujících text "AA" v rozsahu A2:A12. Toho lze dosáhnout třemi způsoby.

    Nejjednodušší je zahrnout zástupné znaky přímo do příkazu kritéria argument:

    =COUNTIF(A2:A12, "*AA*")

    V praxi není takové "tvrdé kódování" nejlepším řešením. Pokud se kritéria později změní, budete muset vzorec pokaždé upravovat.

    Namísto zadávání kritérií do vzorce je můžete zadat do některé buňky, například E1, a spojit odkaz na buňku se zástupnými znaky. Váš kompletní vzorec by byl následující:

    =COUNTIF(A2:A12,"*"&E1&"*")

    Případně můžete do buňky kritéria (E1) zadat řetězec se zástupným znakem (v našem příkladu *AA*) a do vzorce zahrnout pouze odkaz na tuto buňku:

    =COUNTIF(A2:A12, E1)

    Všechny tři vzorce dávají stejný výsledek, takže je otázkou vašich osobních preferencí, který z nich použijete.

    Poznámka. Vyhledávání pomocí zástupných znaků nerozlišuje velká a malá písmena , takže vzorec počítá jak s velkými, tak s malými písmeny, jako např. AA-01 a aa-01 .

    Vzorec VLOOKUP aplikace Excel se zástupnými znaky

    Pokud potřebujete vyhledat hodnotu, která nemá ve zdrojových datech přesnou shodu, můžete použít zástupné znaky pro nalezení částečné shody.

    V tomto příkladu budeme vyhledávat ID začínající určitými znaky a vracet jejich ceny ze sloupce B. Chcete-li to provést, zadejte příkaz unikátní díly ID cílů v buňkách D2, D3 a D4 a pomocí tohoto vzorce získáte výsledky:

    =VLOOKUP(D2& "*", $A$2:$B$12, 2, FALSE)

    Výše uvedený vzorec se přenese do buňky E1 a díky chytrému použití relativních a absolutních odkazů na buňky se správně zkopíruje do následujících buněk.

    Poznámka: Vzhledem k tomu, že funkce VLOOKUP aplikace Excel vrací první nalezenou shodu, měli byste být při vyhledávání pomocí zástupných znaků velmi opatrní. Pokud se hodnota vyhledávání shoduje s více než jednou hodnotou v rozsahu vyhledávání, můžete získat zavádějící výsledky.

    Zástupný znak aplikace Excel pro čísla

    Někdy se uvádí, že zástupné znaky v aplikaci Excel fungují pouze pro textové hodnoty, nikoli pro čísla. To však není tak docela pravda. Pomocí příkazu Najít a nahradit funkce a také Filtr , zástupné znaky fungují dobře pro text i čísla.

    Najít a nahradit pomocí zástupného čísla

    Na níže uvedeném snímku obrazovky používáme jako kritérium hledání *4* pro vyhledání buněk obsahujících číslici 4 a aplikace Excel najde jak textové řetězce, tak čísla:

    Filtrování pomocí zástupného čísla

    Stejně tak automatický filtr aplikace Excel nemá problém s filtrováním čísel obsahujících znak "4":

    Proč zástupný znak aplikace Excel nefunguje s čísly ve vzorcích

    Použití zástupných znaků s čísly ve vzorcích je jiný příběh. Použití zástupných znaků společně s čísly (bez ohledu na to, zda číslo obklopíte zástupnými znaky nebo spojíte odkaz na buňku) převede číselnou hodnotu na textový řetězec. Výsledkem je, že Excel nerozpozná řetězec v rozsahu čísel.

    Například oba níže uvedené vzorce dobře počítají počet řetězců obsahujících "4":

    =COUNTIF(A2:A12, "*4*" )

    =COUNTIF(A2:A12, "*"&E1& "*" )

    Ale ani jeden z nich nedokáže identifikovat číslici 4 v čísle:

    Jak zprovoznit zástupné znaky pro čísla

    Nejjednodušším řešením je převést čísla na text (například pomocí funkce Text to Columns) a poté provést běžný VLOOKUP, COUNTIF, MATCH atd.

    Chcete-li například zjistit počet buněk, které začít s číslo v E1, vzorec je:

    =COUNTIF(B2:B12, E1& "*" )

    V situaci, kdy tento přístup není prakticky přijatelný, budete muset pro každý konkrétní případ vypracovat vlastní vzorec. Obecné řešení bohužel neexistuje :( Níže najdete několik příkladů.

    Příklad 1. Vzorec Excelu se zástupnými znaky pro čísla

    Tento příklad ukazuje, jak spočítat čísla, která obsahují určitou číslici. Předpokládejme, že v ukázkové tabulce níže chcete vypočítat, kolik čísel v rozsahu B2:B12 obsahuje číslici "4". Zde je vzorec, který použijete:

    =SUMPRODUCT(--(ISNUMBER(SEARCH("4", B2:B12))))

    Jak tento vzorec funguje

    Tento vzorec funguje zevnitř ven:

    Funkce HLEDAT hledá zadanou číslici v každé buňce rozsahu a vrací její pozici, v případě nenalezení chybu #VALUE. Jejím výstupem je následující pole:

    {#HODNOTA!;1;#HODNOTA!;#HODNOTA!;3;#HODNOTA!;#HODNOTA!;1;#HODNOTA!;#HODNOTA!;#HODNOTA!}

    Funkce ISNUMBER je převezme a změní libovolné číslo na TRUE a chybu na FALSE:

    {FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

    Dvojitý unární operátor (--) mění hodnotu TRUE na 1 a FALSE na 0:

    {0;1;0;0;1;0;0;1;0;0;0}

    Nakonec funkce SUMPRODUCT sečte jedničky a vrátí počet.

    Poznámka: Při použití podobného vzorce v pracovních listech byste v žádném případě neměli do funkce HLEDAT uvádět "$" nebo jiný symbol měny. Nezapomeňte, že se jedná pouze o "vizuální" formát měny aplikovaný na buňky, podkladové hodnoty jsou pouhá čísla.

    Příklad 2. Vzorec se zástupnými znaky pro data

    Výše uvedený vzorec SUMPRODUCT funguje skvěle pro čísla, ale pro data selže. Proč? Protože Excel interně ukládá data jako pořadová čísla a vzorec by zpracovával tato čísla, nikoli data zobrazená v buňkách.

    Chcete-li tuto překážku překonat, použijte funkci TEXT pro převod dat na textové řetězce a poté tyto řetězce zadejte funkci HLEDAT.

    V závislosti na tom, co přesně chcete počítat, se mohou formáty textu lišit.

    Chcete-li spočítat všechna data v C2:C12, která mají ve dni, měsíci nebo roce číslici "4", použijte " mmddyyyy" :

    =SUMPRODUCT(--(ISNUMBER(SEARCH("4",TEXT(C2:C12, "mmddyyyy")))))

    Počítat pouze dny které obsahují znak "4" ignorující měsíce a roky, použijte " dd" formát textu:

    =SUMPRODUCT(--(ISNUMBER(SEARCH("4",TEXT(C2:C12, "dd")))))

    To je návod, jak používat zástupné znaky v Excelu. Doufám, že se vám tyto informace budou hodit při vaší práci. Každopádně vám děkuji za přečtení a doufám, že se příští týden uvidíme na našem blogu!

    Cvičebnice ke stažení

    Zástupné znaky ve vzorcích aplikace Excel (.xlsx soubor)

    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.