Excel: Porównaj ciągi w dwóch komórkach w poszukiwaniu dopasowania (z rozróżnieniem wielkości liter lub dokładnie)

  • Udostępnij To
Michael Brown

Samouczek pokazuje, jak porównywać ciągi tekstowe w Excelu z uwzględnieniem wielkości liter i dokładnego dopasowania. Poznasz szereg formuł do porównywania dwóch komórek według ich wartości, długości ciągu lub liczby wystąpień określonego znaku, a także sposoby porównywania wielu komórek.

W przypadku korzystania z programu Excel do analizy danych najważniejsza jest dokładność. Nieprawidłowe informacje prowadzą do niedotrzymania terminów, błędnej oceny trendów, błędnych decyzji i utraty przychodów.

Chociaż formuły Excela są zawsze idealnie prawdziwe, ich wyniki mogą być błędne, ponieważ do systemu przeniknęły jakieś wadliwe dane. W takim przypadku jedynym środkiem zaradczym jest sprawdzenie danych pod kątem ich poprawności. Ręczne porównanie dwóch komórek to nic wielkiego, ale dostrzeżenie różnic między setkami i tysiącami ciągów tekstowych jest prawie niemożliwe.

Dzięki temu samouczkowi dowiesz się, jak zautomatyzować żmudne i podatne na błędy zadanie porównywania komórek i jakich formuł najlepiej używać w każdym konkretnym przypadku.

    Jak porównać dwie komórki w programie Excel

    Istnieją dwa różne sposoby porównywania ciągów w programie Excel, w zależności od tego, czy szukasz porównania z uwzględnieniem wielkości liter, czy z pominięciem wielkości liter.

    Formuła niewrażliwa na wielkość liter do porównania 2 komórek

    Aby porównać dwie komórki w Excelu ignorując przypadek, użyj prostej formuły, takiej jak ta:

    =A1=B1

    Gdzie A1 i B1 to porównywane komórki. Wynikiem działania formuły są wartości boolowskie TRUE i FALSE.

    Jeśli chcesz wyprowadzać własne teksty dla dopasowań i różnic, osadzaj powyższe stwierdzenie w teście logicznym funkcji IF. Na przykład:

    =IF(A1=B1, "Równe", "Nie równe")

    Jak widać na poniższym zrzucie ekranu, obie formuły równie dobrze porównują ciągi tekstowe, daty i liczby:

    Formuła rozróżniania wielkości liter do porównywania ciągów w programie Excel

    W niektórych sytuacjach ważne może być nie tylko porównanie wartości tekstowych dwóch komórek, ale także porównanie wielkości liter. Porównanie wielkości liter w tekście można wykonać za pomocą funkcji Excel EXACT:

    EXACT (text1, text2)

    Gdzie tekst1 oraz tekst2 to dwie komórki, które porównujesz.

    Zakładając, że twoje ciągi są w komórkach A2 i B2, formuła idzie w następujący sposób:

    =EXACT(A2, B2)

    Jako wynik otrzymujemy TRUE dla łańcuchów tekstowych pasujących dokładnie z uwzględnieniem przypadku każdego znaku, FALSE w przeciwnym wypadku.

    Jeśli chcesz, aby funkcja EXACT przyniosła inne wyniki, umieść ją w formule IF i wpisz własny tekst dla wartość_jeśli_true oraz wartość_jeśli_false argumenty:

    =IF(EXACT(A2 ,B2), "Dokładnie równe", "Nie równe")

    Poniższy zrzut ekranu przedstawia wyniki porównania ciągów znaków z uwzględnieniem wielkości liter w programie Excel:

    Jak porównać wiele komórek w programie Excel

    Aby porównać więcej niż 2 komórki w rzędzie, należy użyć formuł omówionych w powyższych przykładach w połączeniu z operatorem AND. Pełne informacje na ten temat znajdują się poniżej.

    Formuła niewrażliwa na wielkość liter do porównywania więcej niż 2 komórek

    W zależności od tego, jak chcesz wyświetlić wyniki, wykorzystaj jedną z poniższych formuł:

    =AND(A2=B2, A2=C2)

    lub

    =IF(AND(A2=B2, A2=C2), "Równe", "Nie równe")

    Formuła AND zwraca TRUE, jeśli wszystkie komórki zawierają tę samą wartość, FALSE, jeśli któraś z wartości jest inna. Formuła IF wyprowadza etykiety, które wpisujemy do niej, " Equal " i " Nie jest równy " w tym przykładzie.

    Jak pokazano na zrzucie ekranu poniżej, formuła działa doskonale z dowolnymi typami danych - tekstem, datami i wartościami liczbowymi:

    Formuła rozróżniająca wielkość liter do porównywania tekstu w kilku komórkach

    Aby porównać wiele łańcuchów ze sobą, aby sprawdzić, czy pasują do siebie dokładnie, użyj następujących formuł:

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

    Lub

    =IF(AND(EXACT(A2,B2), EXACT(A2, C2)), "Dokładnie równe", "Nie równe")

    Podobnie jak w poprzednim przykładzie, pierwsza formuła dostarcza wartości TRUE i FALSE, natomiast druga wyświetla własne teksty dla dopasowań i różnic:

    Porównanie zakresu komórek z komórką przykładową

    Poniższe przykłady pokazują, jak można sprawdzić, czy wszystkie komórki w danym zakresie zawierają taki sam tekst jak w przykładowej komórce.

    Formuła niewrażliwa na wielkość liter do porównywania komórek z przykładowym tekstem

    Jeśli przypadek znaków nie ma znaczenia, możesz użyć następującej formuły, aby porównać komórki do próbki:

    ROWS( zakres )*COLUMNS( zakres )=COUNTIF( zakres , komórka do pobierania próbek )

    W teście logicznym funkcji IF porównujesz dwie liczby:

    • Całkowita liczba komórek w określonym zakresie (liczba wierszy pomnożona przez liczbę kolumn), oraz
    • Liczba komórek zawierających taką samą wartość jak w komórce przykładowej (zwróconej przez funkcję COUNTIF).

    Zakładając, że przykładowy tekst znajduje się w C2, a ciągi do porównania są w zakresie A2:B6, formuła przebiega następująco:

    =ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2)

    Aby uczynić wyniki bardziej przyjaznymi dla użytkownika, tj. wyprowadzić coś w rodzaju "Wszystkie pasują" i "Nie wszystkie pasują" zamiast TRUE i FALSE, użyj funkcji JEŻELI, tak jak zrobiliśmy to w poprzednich przykładach:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2), "Wszystkie pasują", "Nie wszystkie pasują")

    Jak pokazuje powyższy zrzut ekranu, formuła doskonale radzi sobie z zakresem ciągów tekstowych, ale można ją również wykorzystać do porównywania liczb i dat.

    Formuła rozróżniająca wielkość liter w celu porównania łańcuchów do przykładowego tekstu

    Jeśli przypadek znaków robi różnicę, możesz porównać ciągi do przykładowego tekstu za pomocą następujących formuł tablicowych.

    IF(ROWS( zakres )*COLUMNS( zakres )=SUMA(--EXACT( komórka_próbki , zakres )), " text_if_match ", " text_if_not match ")

    Przy zakresie źródłowym rezydującym w A2:B6 i przykładowym tekście w C2, formuła przyjmuje następujący kształt:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "Wszystkie pasują", "Nie wszystkie pasują")

    W przeciwieństwie do zwykłych formuł Excela, formuły tablicowe są uzupełniane przez naciśnięcie klawiszy Ctrl + Shift + Enter . Jeśli wprowadzony poprawnie, Excel zamyka formułę tablicową w {curly braces}, jak pokazano na zrzucie ekranu:

    Jak porównać dwie komórki po długości ciągu znaków

    Czasami możesz chcieć sprawdzić, czy ciągi tekstowe w każdym wierszu zawierają równą liczbę znaków. Formuła do tego zadania jest bardzo prosta. Najpierw otrzymujesz długość ciągu w dwóch komórkach za pomocą funkcji LEN, a następnie porównujesz te liczby.

    Zakładając, że porównywane ciągi znajdują się w komórkach A2 i B2, użyj jednej z poniższych formuł:

    =LEN(A2)=LEN(B2)

    Albo

    =IF(LEN(A2)=LEN(B2), "Równe", "Nie równe")

    Jak już wiesz, pierwsza formuła zwraca wartości Boolean TRUE lub FALSE, natomiast druga formuła wyprowadza własne wyniki:

    Jak pokazano na powyższym zrzucie ekranu, formuły działają zarówno dla ciągów tekstowych, jak i dla liczb.

    Wskazówka. Jeśli dwa pozornie równe ciągi zwracają różne długości, najprawdopodobniej problem tkwi w prowadzący lub śledzący miejsca w jednej lub obu komórkach. W takim przypadku należy usunąć dodatkowe spacje za pomocą funkcji TRIM. Szczegółowe wyjaśnienie i przykłady formuł można znaleźć tutaj: Jak przycinać spacje w Excelu.

    Porównaj dwie komórki według wystąpień określonego znaku

    Jest to ostatni przykład w naszym tutorialu Excel Compare Strings, który pokazuje rozwiązanie dość specyficznego zadania. Załóżmy, że masz 2 kolumny ciągów tekstowych, które zawierają ważny dla Ciebie znak. Twoim celem jest sprawdzenie, czy dwie komórki w każdym wierszu zawierają taką samą liczbę wystąpień danego znaku.

    Aby to wyjaśnić, rozważmy następujący przykład. Powiedzmy, że masz dwie listy zamówień wysłanych (kolumna B) i otrzymanych (kolumna C). Każdy wiersz zawiera zamówienia na konkretną pozycję, której unikalny identyfikator jest zawarty we wszystkich identyfikatorach zamówień i jest wymieniony w tym samym wierszu w kolumnie A (patrz zrzut ekranu poniżej). Chcesz się upewnić, że każdy wiersz zawiera równą liczbę wysłanych i otrzymanychelementów z tym konkretnym ID.

    Aby rozwiązać to zadanie, napisz formułę o następującej logice.

    • Po pierwsze, zastąp unikalny identyfikator niczym, używając funkcji SUBSTITUTE:

      SUBSTITUTE(A1, character_to_count,"")

    • Następnie należy obliczyć, ile razy unikalny identyfikator pojawia się w każdej komórce. W tym celu należy uzyskać długość ciągu bez unikalnego identyfikatora i odjąć ją od całkowitej długości ciągu. Tę część należy napisać indywidualnie dla komórki 1 i komórki 2, na przykład:

      LEN(komórka 1) - LEN(SUBSTITUTE(komórka 1, character_to_count, ""))

      oraz

      LEN(komórka 2) - LEN(SUBSTITUTE(komórka 2, character_to_count, ""))

    • Na koniec porównujesz te 2 liczby, stawiając znak równości (=) pomiędzy powyższymi częściami.
    LEN( komórka 1 ) - LEN(SUBSTYTUT( komórka 1 , znak_do_liczby , ""))=

    LEN( komórka 2 ) - LEN(SUBSTYTUT( komórka 2 , znak_do_liczby , ""))

    W naszym przykładzie unikalny identyfikator znajduje się w komórce A2, a ciągi do porównania znajdują się w komórkach B2 i C2. Zatem pełna formuła wygląda następująco:

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

    Formuła zwraca TRUE, jeśli komórki B2 i C2 zawierają równą liczbę wystąpień znaku w A2, FALSE w przeciwnym razie. Aby wyniki były bardziej znaczące dla użytkowników, możesz osadzić formułę w funkcji JEŻELI:

    =IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,"")), "Równe", "Nie równe")

    Jak widać na powyższym zrzucie ekranu, formuła działa doskonale pomimo kilku dodatkowych komplikacji:

    • Liczony znak (unikalny identyfikator) może pojawić się w dowolnym miejscu ciągu tekstowego.
    • Ciągi zawierają zmienną liczbę znaków i różne separatory, takie jak średnik, przecinek czy spacja.

    W ten sposób porównuje się ciągi znaków w Excelu. Aby bliżej przyjrzeć się formułom omawianym w tym tutorialu, zapraszam do pobrania arkusza Excel Compare Strings Worksheet. Dziękuję za lekturę i mam nadzieję, że zobaczymy się na naszym blogu za tydzień.

    Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.