Spis treści
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 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ń.