Aby porównać dwie kolumny wiersz po wierszu, wpisz =B2=C2 obok pierwszego wiersza i skopiuj w dół: PRAWDA oznacza, że obie komórki się zgadzają, a FAŁSZ, że się różnią. Aby znaleźć wartości z jednej kolumny, które występują gdziekolwiek w drugiej, w dowolnej kolejności, użyj zamiast tego =LICZ.JEŻELI($B$2:$B$8;A2)>0 (po angielsku COUNTIF). Tabele pokazują formuły po angielsku, ale możesz w nich wpisywać formuły także po polsku, ze średnikami.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Old | New | Same? | Status |
| 2 | Apple | $1.20 | $1.20 | TRUE | Same |
| 3 | Pear | $1.50 | $1.60 | FALSE | Changed |
| 4 | Carrot | $0.80 | $0.80 | TRUE | Same |
| 5 | Bread | $2.40 | $2.20 | FALSE | Changed |
| 6 | Milk | $1.10 | $1.10 | TRUE | Same |
| 7 | Cheese | $4.50 | $4.90 | FALSE | Changed |
=B2=C2D3, D5 i D7 to FAŁSZ, a reguła formatowania warunkowego =$B2<>$C2 koloruje te trzy wiersze. Kolumna E pokazuje ten sam test słowami zamiast PRAWDA i FAŁSZ. Zmień C3 na 1.5, a wiersz 3 zmieni się na Same.
Porównanie dwóch kolumn z JEŻELI
=B2=C2 zwraca PRAWDA albo FAŁSZ. Obejmij to funkcją JEŻELI (IF), aby wybrać słowa: =JEŻELI(B2=C2;"Same";"Changed"), jak w kolumnie E powyżej. Aby zgodne wiersze zostawić puste i oznaczyć tylko różnice, użyj =JEŻELI(B2<>C2;"Changed";""). Aby pokazać, o ile zmieniła się liczba, odejmij zamiast porównywać: =C2-B2.
Aby policzyć różnice bez kolumny pomocniczej, porównaj oba zakresy w SUMA.ILOCZYNÓW (SUMPRODUCT): =SUMA.ILOCZYNÓW(--(B2:B7<>C2:C7)) zwraca 3 dla arkusza powyżej.
Bez formuły: zaznacz B2:C7 z B2 jako aktywną komórką, przejdź do Narzędzia główne > Znajdź i zaznacz > Przejdź do specjalnie, wybierz Różnice w wierszach i naciśnij OK (w Windows to samo robi Ctrl+). Excel zaznaczy C3, C5 i C7, komórki, które w swoim wierszu różnią się od kolumny B; nadaj im kolor wypełnienia, żeby je oznaczyć.
Porównanie z uwzględnieniem wielkości liter: PORÓWNAJ
Porównanie = ignoruje wielkość liter: ab12 równa się AB12. Gdy wielkość liter ma znaczenie (kody produktów, hasła, identyfikatory), użyj PORÓWNAJ(A2;B2) (po angielsku EXACT), które daje PRAWDA tylko wtedy, gdy oba teksty są identyczne znak po znaku.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | Entered | Equal? | EXACT |
| 2 | AB12 | AB12 | TRUE | TRUE |
| 3 | CD34 | cd34 | TRUE | FALSE |
| 4 | EF56 | EF56 | TRUE | TRUE |
| 5 | GH78 | Gh78 | TRUE | FALSE |
=A2=B2Kolumna C, porównanie =, mówi, że wszystkie cztery się zgadzają. PORÓWNAJ mówi, że wiersze 3 i 5 się różnią, bo cd34 i Gh78 mają małe litery.
Wartości z jednej kolumny, których brakuje w drugiej
Gdy obie listy nie są w tej samej kolejności, porównaj każdą wartość z całą drugą kolumną. LICZ.JEŻELI($B$2:$B$8;A2) liczy, ile razy A2 pojawia się w B2:B8, więc >0 oznacza „znaleziono”, a =0 „brakuje”. Znaki $ utrzymują przeszukiwany zakres na miejscu, gdy formuła jest kopiowana w dół.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | January | February | In February? | With MATCH |
| 2 | Ana | Dan | TRUE | TRUE |
| 3 | Ben | Fay | TRUE | TRUE |
| 4 | Cara | Ana | FALSE | FALSE |
| 5 | Dan | Gus | TRUE | TRUE |
| 6 | Eve | Hal | FALSE | FALSE |
| 7 | Fay | Ivy | TRUE | TRUE |
| 8 | Gus | Ben | TRUE | TRUE |
=LICZ.JEŻELI($B$2:$B$8;A2)>0Cara i Eve to FAŁSZ: kupili w styczniu, a w lutym nie. PODAJ.POZYCJĘ (MATCH) daje tę samą odpowiedź inną drogą: PODAJ.POZYCJĘ(A2;$B$2:$B$8;0) zwraca pozycję A2 w kolumnie B albo #N/D! (po angielsku #N/A), gdy jej tam nie ma, a CZY.LICZBA (ISNUMBER) zamienia to w PRAWDA albo FAŁSZ. Aby sprawdzić w drugą stronę (nowi klienci w lutym), wstaw tę samą formułę obok kolumny B z zamienionymi zakresami: =LICZ.JEŻELI($A$2:$A$8;B2)>0.
Porównanie dwóch list i zwrócenie pasującej wartości
Często pytanie brzmi nie tylko „czy to tam jest”, ale „czy wartość obok się zgadza”. Tutaj faktury są porównywane z listą płatności w innej kolejności: X.WYSZUKAJ (XLOOKUP) znajduje każdą fakturę w płatnościach, zwraca zapłaconą kwotę, a kolumna D porównuje ją z kwotą faktury.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Invoice | Amount | Paid | Match? | Payment for | Paid | |
| 2 | INV-101 | 120 | 120 | TRUE | INV-103 | 240 | |
| 3 | INV-102 | 85 | Not paid | FALSE | INV-101 | 120 | |
| 4 | INV-103 | 240 | 240 | TRUE | INV-105 | 140 | |
| 5 | INV-104 | 60 | 60 | TRUE | INV-106 | 95 | |
| 6 | INV-105 | 150 | 140 | FALSE | INV-104 | 60 | |
| 7 | INV-106 | 95 | 95 | TRUE |
=X.WYSZUKAJ(A2;$F$2:$F$6;$G$2:$G$6;"Not paid")INV-102 nie ma płatności, więc C3 mówi Not paid. Za INV-105 zapłacono 140 zamiast 150, więc D6 też to FAŁSZ. Ostatni argument X.WYSZUKAJ, "Not paid", zastępuje #N/D!, który dałaby brakująca wartość. X.WYSZUKAJ wymaga Excela 2021 albo Microsoft 365; w Excelu 2019 użyj =JEŻELI.BŁĄD(WYSZUKAJ.PIONOWO(A2;$F$2:$G$6;2;FAŁSZ);"Not paid"). Pozostałe argumenty opisuje strona X.WYSZUKAJ.
Wypisanie wartości, których brakuje w drugiej kolumnie
Zamiast kolumny PRAWDA/FAŁSZ funkcja FILTRUJ może zwrócić brakujące wartości jako listę. LICZ.JEŻELI(B2:B8;A2:A8) z zakresem jako drugim argumentem liczy naraz każdą wartość z A, a FILTRUJ zostawia te, dla których wynik to 0.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | January | February | Not in February | |
| 2 | Ana | Dan | ||
| 3 | Ben | Fay | ||
| 4 | Cara | Ana | ||
| 5 | Dan | Gus | ||
| 6 | Eve | Hal | ||
| 7 | Fay | Ivy | ||
| 8 | Gus | Ben |
Twoja kolej: W D2 wypisz klientów ze stycznia, których nie ma na liście z lutego.
Odpowiedź rozlewa Carę i Eve. =FILTRUJ(A2:A8;CZY.BRAK(PODAJ.POZYCJĘ(A2:A8;B2:B8;0))) też działa. Jeśli wrócił każdy klient, FILTRUJ zwraca #OBL!; dodaj trzeci argument na taki przypadek: =FILTRUJ(A2:A8;LICZ.JEŻELI(B2:B8;A2:A8)=0;"None"). FILTRUJ wymaga Excela 2021 albo Microsoft 365. Więcej warunków opisuje strona FILTRUJ (FILTER).
Wyróżnianie różnic między dwiema kolumnami
Powyższe formuły działają też jako reguły formatowania warunkowego. Zaznacz pierwszą listę, przejdź do Narzędzia główne > Formatowanie warunkowe > Nowa reguła > Użyj formuły do określenia komórek, które należy sformatować i wpisz formułę dla jej pierwszej komórki. Tutaj A2:A8 dostaje =LICZ.JEŻELI($B$2:$B$8;A2)=0, a B2:B8 =LICZ.JEŻELI($A$2:$A$8;B2)=0: każde imię, które jest tylko na jednej z list, zostaje pokolorowane.
| A | B | |
|---|---|---|
| 1 | January | February |
| 2 | Ana | Dan |
| 3 | Ben | Fay |
| 4 | Cara | Ana |
| 5 | Dan | Gus |
| 6 | Eve | Hal |
| 7 | Fay | Ivy |
| 8 | Gus | Ben |
W styczniu pokolorowani są Cara i Eve, w lutym Hal i Ivy. Dla dwóch kolumn, które powinny zgadzać się wiersz po wierszu, reguła to =$A2<>$B2 na obu kolumnach, jak w pierwszym arkuszu na tej stronie. Aby zamiast tego pokolorować imiona, które są na obu listach, użyj >0, jak na stronie o wyróżnianiu duplikatów.
Dlaczego identyczne wartości wychodzą jako różne
Najczęstszy powód to spacja, której nie widać: Ana ze spacją na końcu nie równa się Ana. Dane wklejone z innego systemu albo ze strony internetowej często je zawierają. Porównuj zamiast tego wartości po usunięciu spacji.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Other list | Equal? | Trimmed |
| 2 | Ana | Ana | FALSE | TRUE |
| 3 | Ben | Ben | TRUE | TRUE |
| 4 | Cara | Cara | FALSE | TRUE |
| 5 | Dan | Dan | TRUE | TRUE |
=A2=B2Kolumna C mówi, że wiersze 2 i 4 się różnią; kolumna D, po tym jak USUŃ.ZBĘDNE.ODSTĘPY (TRIM) usuwa spacje na obu końcach, mówi, że wszystkie cztery się zgadzają. Drugi typowy powód to liczba zapisana jako tekst w jednej kolumnie i prawdziwa liczba w drugiej: 101 i '101 wyglądają tak samo, ale porównanie = w Excelu zwraca FAŁSZ, a PODAJ.POZYCJĘ, WYSZUKAJ.PIONOWO i X.WYSZUKAJ nie znajdują jednej w drugiej. Wyjątkiem jest LICZ.JEŻELI: czyta tekst wyglądający jak liczba jako tę liczbę, więc liczy je jako równe. Zielony trójkąt w rogu komórki oznacza wersję tekstową; zamień ją przez =WARTOŚĆ(A2) albo =A2*1 albo zaznacz komórki i wybierz Konwertuj na liczbę z ikony ostrzeżenia.
Najczęściej zadawane pytania
Jak porównać dwie kolumny w Excelu i znaleźć zgodności?
Wiersz po wierszu: wpisz =A2=B2 w C2 i skopiuj w dół; PRAWDA oznacza, że obie komórki się zgadzają. Aby sprawdzić, czy każda wartość z A występuje gdziekolwiek w B, użyj =LICZ.JEŻELI($B$2:$B$8;A2)>0.
Jak porównać dwie kolumny i zwrócić wartość z drugiej?
Wyszukaj wartość: =X.WYSZUKAJ(A2;$F$2:$F$7;$G$2:$G$7;"Not found") zwraca pasującą wartość z G albo Not found. W Excelu 2019 i starszych użyj =JEŻELI.BŁĄD(WYSZUKAJ.PIONOWO(A2;$F$2:$G$7;2;FAŁSZ);"Not found").
Czy porównanie dwóch komórek w Excelu rozróżnia wielkość liter?
Nie. =A2=B2 traktuje abc i ABC jako równe. Do porównania z uwzględnieniem wielkości liter użyj =PORÓWNAJ(A2;B2), które daje PRAWDA tylko wtedy, gdy zgadza się każdy znak, łącznie z wielkością liter.
Jak wypisać wartości, które są w jednej kolumnie, a nie ma ich w drugiej?
W Excelu 365 i 2021 =FILTRUJ(A2:A8;LICZ.JEŻELI(B2:B8;A2:A8)=0) rozlewa każdą wartość z A2:A8, która nie występuje w B2:B8.
Dlaczego Excel mówi, że dwie identyczne wartości są różne?
Jedna z nich zwykle ma dodatkową spację albo jest liczbą zapisaną jako tekst. Porównaj =USUŃ.ZBĘDNE.ODSTĘPY(A2)=USUŃ.ZBĘDNE.ODSTĘPY(B2), żeby wykluczyć spacje, i zamień liczby tekstowe przez =WARTOŚĆ(A2) albo =A2*1.