Excel: Porovnání řetězců ve dvou buňkách pro shodu (bez rozlišení velkých a malých písmen nebo přesně)

  • Sdílet Toto
Michael Brown

Výukový program ukazuje, jak v aplikaci Excel porovnávat textové řetězce bez ohledu na velikost písmen a přesnou shodu. Naučíte se řadu vzorců pro porovnání dvou buněk podle jejich hodnot, délky řetězce nebo počtu výskytů určitého znaku a také jak porovnávat více buněk.

Při používání aplikace Excel k analýze dat je nejdůležitější přesnost. Nesprávné informace vedou k nedodržení termínů, nesprávnému posouzení trendů, chybným rozhodnutím a ztrátě příjmů.

Vzorce aplikace Excel jsou sice vždy dokonale pravdivé, ale jejich výsledky mohou být chybné, protože do systému pronikla nějaká chybná data. V takovém případě je jedinou nápravou kontrola správnosti dat. Není velký problém porovnat dvě buňky ručně, ale odhalit rozdíly mezi stovkami a tisíci textových řetězců je téměř nemožné.

V tomto kurzu se dozvíte, jak zautomatizovat zdlouhavý a k chybám náchylný úkol porovnávání buněk a jaké vzorce je nejlepší použít v jednotlivých případech.

    Jak porovnat dvě buňky v aplikaci Excel

    V aplikaci Excel existují dva různé způsoby porovnávání řetězců v závislosti na tom, zda chcete porovnávat malá a velká písmena, nebo malá a velká písmena nerozlišovat.

    Vzorec pro porovnání 2 buněk bez ohledu na velikost písmen

    Chcete-li v aplikaci Excel porovnat dvě buňky v případě ignorování, použijte jednoduchý vzorec, jako je tento:

    =A1=B1

    Kde A1 a B1 jsou buňky, které porovnáváte. Výsledkem vzorce jsou logické hodnoty TRUE a FALSE.

    Pokud chcete vypisovat vlastní texty pro shody a rozdíly, vložte výše uvedený příkaz do logického testu funkce IF. Například:

    =IF(A1=B1, "Rovná se", "Nerovná se")

    Jak vidíte na obrázku níže, oba vzorce porovnávají textové řetězce, data a čísla stejně dobře:

    Vzorec pro porovnávání řetězců v aplikaci Excel s rozlišováním malých a velkých písmen

    V některých situacích může být důležité nejen porovnat textové hodnoty dvou buněk, ale také porovnat velikost znaků. Porovnání textu s ohledem na velikost písmen lze provést pomocí funkce Excel EXACT:

    EXACT (text1, text2)

    Kde: text1 a text2 jsou dvě porovnávané buňky.

    Za předpokladu, že řetězce jsou v buňkách A2 a B2, vzorec vypadá takto:

    =EXACT(A2, B2)

    Výsledkem je TRUE, pokud textové řetězce odpovídají přesně včetně velikosti jednotlivých znaků, jinak FALSE.

    Pokud chcete, aby funkce EXACT poskytovala jiné výsledky, vložte ji do vzorce IF a zadejte vlastní text pro. value_if_true a value_if_false argumenty:

    =IF(EXACT(A2 ,B2), "Přesně stejný", "Není stejný")

    Následující snímek obrazovky ukazuje výsledky porovnání řetězců v aplikaci Excel s ohledem na velikost písmen:

    Jak porovnat více buněk v aplikaci Excel

    Chcete-li porovnat více než 2 buňky v řádku, použijte vzorce popsané ve výše uvedených příkladech v kombinaci s operátorem AND. Úplné podrobnosti jsou uvedeny níže.

    Vzorec pro porovnání více než 2 buněk bez rozlišení velikosti písmen

    Podle toho, jak chcete výsledky zobrazit, použijte jeden z následujících vzorců:

    =AND(A2=B2, A2=C2)

    nebo

    =IF(AND(A2=B2, A2=C2), "Rovná se", "Nerovná se")

    Vzorec AND vrací hodnotu TRUE, pokud všechny buňky obsahují stejnou hodnotu, FALSE, pokud se některá hodnota liší. Vzorec IF vypíše popisky, které do něj zadáte, " Equal " a " Nerovná se " v tomto příkladu.

    Jak ukazuje obrázek níže, vzorec funguje dokonale s jakýmikoli typy dat - textem, daty a číselnými hodnotami:

    Vzorec pro porovnávání textu v několika buňkách s rozlišováním malých a velkých písmen

    Chcete-li porovnat více řetězců a zjistit, zda se přesně shodují, použijte následující vzorce:

    =AND(EXACT(A2,B2), EXACT(A2, C2))

    Nebo

    =IF(AND(EXACT(A2,B2), EXACT(A2, C2)), "Přesně stejné", "Není stejné")

    Stejně jako v předchozím příkladu první vzorec poskytuje hodnoty TRUE a FALSE, zatímco druhý vzorec zobrazuje vlastní texty pro shody a rozdíly:

    Porovnání rozsahu buněk s buňkou vzorku

    Následující příklady ukazují, jak lze ověřit, že všechny buňky v daném rozsahu obsahují stejný text jako v ukázkové buňce.

    Vzorec pro porovnání buněk se vzorovým textem bez ohledu na velikost písmen

    Pokud na velikosti znaku nezáleží, můžete pro porovnání buněk se vzorkem použít následující vzorec:

    ŘÁDKY( rozsah )*COLUMNS( rozsah )=COUNTIF( rozsah , vzorkovací buňka )

    V logickém testu funkce IF porovnáváte dvě čísla:

    • Celkový počet buněk v zadaném rozsahu (počet řádků vynásobený počtem sloupců) a
    • Počet buněk obsahujících stejnou hodnotu jako ve vzorové buňce (vráceno funkcí COUNTIF).

    Předpokládáme-li, že ukázkový text je v poli C2 a řetězce, které se mají porovnat, jsou v rozsahu A2:B6, je vzorec následující:

    =ŘÁDKY(A2:B6)*SLOUPCE(A2:B6)=COUNTIF(A2:B6,C2)

    Chcete-li, aby byly výsledky uživatelsky přívětivější, tj. aby se místo TRUE a FALSE vypsalo něco jako "All match" a "Not all match", použijte funkci IF, jak jsme to udělali v předchozích příkladech:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2), "All match", "Not all match")

    Jak ukazuje výše uvedený snímek obrazovky, vzorec si dokonale poradí s rozsahem textových řetězců, ale lze jej použít i k porovnávání čísel a dat.

    Vzorec pro porovnávání řetězců se vzorovým textem rozlišující malá a velká písmena

    Pokud záleží na velikosti znaků, můžete řetězce porovnat se vzorovým textem pomocí následujících vzorců pole.

    IF(ROWS( rozsah )*COLUMNS( rozsah )=SUMA(--EXACT( sample_cell , rozsah )), " text_if_match ", " text_if_not match ")

    Pokud se zdrojový rozsah nachází v A2:B6 a ukázkový text v C2, vzorec má následující tvar:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "All match", "Not all match")

    Na rozdíl od běžných vzorců aplikace Excel se vzorce pole doplňují stisknutím klávesové zkratky Ctrl + Shift + Enter . Pokud je vzorec pole zadán správně, aplikace Excel jej uzavře do {kudrnatých závorek}, jak je znázorněno na obrázku:

    Jak porovnat dvě buňky podle délky řetězce

    Někdy můžete chtít zkontrolovat, zda textové řetězce v jednotlivých řádcích obsahují stejný počet znaků. Vzorec pro tuto úlohu je velmi jednoduchý. Nejprve zjistíte délku řetězce dvou buněk pomocí funkce LEN a poté tato čísla porovnáte.

    Předpokládejme, že porovnávané řetězce jsou v buňkách A2 a B2, a použijte jeden z následujících vzorců:

    =LEN(A2)=LEN(B2)

    Nebo

    =IF(LEN(A2)=LEN(B2), "Rovná se", "Nerovná se")

    Jak již víte, první vzorec vrací logické hodnoty TRUE nebo FALSE, zatímco druhý vzorec vypisuje vlastní výsledky:

    Jak ukazuje obrázek výše, vzorce fungují pro textové řetězce i čísla.

    Tip. Pokud dva zdánlivě stejné řetězce vracejí různou délku, je problém nejspíš v tom. vedoucí nebo koncové prostory v jedné nebo obou buňkách. V tomto případě odstraňte přebytečné mezery pomocí funkce TRIM. Podrobné vysvětlení a příklady vzorců najdete zde: Jak ořezat mezery v Excelu.

    Porovnání dvou buněk podle výskytu určitého znaku

    Toto je poslední příklad v našem výukovém programu Excel Porovnávání řetězců, který ukazuje řešení poměrně specifické úlohy. Předpokládejme, že máte 2 sloupce textových řetězců, které obsahují pro vás důležitý znak. Vaším cílem je zkontrolovat, zda dvě buňky v každém řádku obsahují stejný počet výskytů daného znaku.

    Aby bylo vše jasnější, uvažujte následující příklad. Řekněme, že máte dva seznamy odeslaných (sloupec B) a přijatých objednávek (sloupec C). Každý řádek obsahuje objednávky na konkrétní položku, jejíž jedinečný identifikátor je obsažen ve všech ID objednávek a je uveden ve stejném řádku ve sloupci A (viz obrázek níže). Chcete zajistit, aby každý řádek obsahoval stejný počet odeslaných a přijatých objednávek.položky s daným ID.

    Pro vyřešení tohoto problému napište vzorec s následující logikou.

    • Nejprve pomocí funkce SUBSTITUTE nahraďte jedinečný identifikátor ničím:

      SUBSTITUTE(A1, character_to_count,"")

    • Poté vypočítejte, kolikrát se jedinečný identifikátor objeví v každé buňce. K tomu zjistěte délku řetězce bez jedinečného identifikátoru a odečtěte ji od celkové délky řetězce. Tato část se zapíše například pro buňku 1 a buňku 2 jednotlivě:

      LEN(buňka 1) - LEN(SUBSTITUTE(buňka 1, character_to_count, ""))

      a

      LEN(buňka 2) - LEN(SUBSTITUTE(buňka 2, character_to_count, ""))

    • Nakonec tato dvě čísla porovnáte tak, že mezi výše uvedené části vložíte znaménko rovnosti (=).
    LEN( buňka 1 ) - LEN(SUBSTITUTE( buňka 1 , character_to_count , ""))=

    LEN( buňka 2 ) - LEN(SUBSTITUTE( buňka 2 , character_to_count , ""))

    V našem příkladu je jedinečný identifikátor v buňce A2 a řetězce, které se mají porovnat, jsou v buňkách B2 a C2. Celý vzorec je tedy následující:

    =LEN(B2)-LEN(SUBSTITUTE(B2,$A2,"))=LEN(C2)-LEN(SUBSTITUTE(C2,$A2,"))

    Vzorec vrátí hodnotu TRUE, pokud buňky B2 a C2 obsahují stejný počet výskytů znaku v A2, v opačném případě hodnotu FALSE. Aby byly výsledky pro uživatele smysluplnější, můžete vzorec vložit do funkce IF:

    =IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,"))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,")), "Rovná se", "Nerovná se")

    Jak vidíte na obrázku výše, vzorec funguje dokonale i přes několik dalších komplikací:

    • Počítaný znak (jedinečný identifikátor) se může vyskytovat kdekoli v textovém řetězci.
    • Řetězce obsahují různý počet znaků a různé oddělovače, například středník, čárku nebo mezeru.

    Takto se v Excelu porovnávají řetězce. Chcete-li se blíže seznámit se vzorci probíranými v tomto tutoriálu, můžete si stáhnout pracovní list Excelu pro porovnávání řetězců. Děkuji vám za přečtení a doufám, že se příští týden uvidíme na našem blogu.

    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.