KHIZHNYAKOV

Khizhnyakov › Poradniki

Jak porównać dwie listy w Excelu i znaleźć różnice

Porównanie dwóch list w Excelu — szablon Excel — Pobierz za darmo →

Masz dwie listy, które powinny się zgadzać: pracownicy w systemie kadrowym i w płacowym, płatności z banku i z ewidencji, wykaz umów u dwóch działów. W praktyce prawie nigdy się nie zgadzają. Ktoś jest tylko na jednej liście, ktoś ma inną kwotę, a kilka nazwisk różni się spacją lub wielkością liter.

Ręczne przeglądanie oko po oku jest wolne i zawodne. Poniżej pokazuję metodę z użyciem zwykłych formuł Excela, która znajduje różnice w kilka minut.

Najpierw ustal klucz

Podstawą porównania jest klucz, czyli kolumna, która jednoznacznie identyfikuje wiersz: numer pracownika, numer faktury, kod towaru. Nazwiska nadają się gorzej, bo powtarzają się i bywają zapisywane różnie. Jeśli to możliwe, wybierz numer.

Krok 1: oczyść klucz

Najczęstszy powód „fałszywych różnic” to niewidoczne drobiazgi: spacja na końcu, podwójna spacja, inna wielkość liter. Dodaj kolumnę pomocniczą:

=LITERY.MAŁE(USUŃ.ZBĘDNE.ODSTĘPY(A2))

Jeśli w danych pojawiają się różne warianty znaków, możesz je ujednolicić funkcją PODSTAW, na przykład zamieniając „ó” na „o”:

=PODSTAW(LITERY.MAŁE(USUŃ.ZBĘDNE.ODSTĘPY(A2));"ó";"o")

Kolumnę pomocniczą utwórz na obu listach i porównuj już wyczyszczone wartości.

Krok 2: czy rekord jest na drugiej liście

Na liście A sprawdź, czy klucz występuje na liście B:

=JEŻELI(LICZ.JEŻELI(B!$D:$D;D2)>0;"Jest na drugiej liście";"Tylko tutaj")

Analogicznie zrób drugą stronę na liście B. Wynik „Tylko tutaj” oznacza rekord, którego brakuje po drugiej stronie.

Krok 3: czy wartości się zgadzają

Jeśli klucz jest po obu stronach, porównaj kwotę lub inny atrybut:

=JEŻELI.BŁĄD(JEŻELI(WYSZUKAJ.PIONOWO(D2;B!$D:$E;2;FAŁSZ)=C2;"Zgodne";"Wartości się różnią");"Tylko tutaj")

Przy dużych listach używaj ograniczonego zakresu, na przykład $D$2:$E$5000, bo odwołania do całych kolumn spowalniają skoroszyt.

Krok 4: duplikaty

Powtórzony klucz to osobny problem. Oznacz go:

=JEŻELI(LICZ.JEŻELI(D:D;D2)>1;"Powtórzenie";"")

Przy duplikatach WYSZUKAJ.PIONOWO zawsze trafia na pierwsze znalezione dopasowanie, więc wynik porównania drugiego wiersza bywa mylący. Najpierw wyjaśnij powtórzenia.

Przykład

Lista A (kadry): 101 Kowalski 4500; 102 Nowak 5200; 103 Wiśniewska 4800. Lista B (płace): 101 Kowalski 4500; 102 Nowak 5000; 104 Zielińska 4700.

  • 101: zgodne,
  • 102: klucz jest po obu stronach, ale kwota się różni (5200 i 5000 zł),
  • 103: tylko na liście A,
  • 104: tylko na liście B.

Podsumowanie: 4 różne klucze, 1 zgodny, 1 różnica wartości, po 1 rekordzie tylko w A i tylko w B.

Kiedy formuły to za mało

Gdy klucze różnią się zapisem w sposób, którego nie da się oczyścić, na przykład "Kowalski J." i "Kowalski Jan", trzeba dopasować rekordy ręcznie albo wprowadzić wspólny numer. Dobrą praktyką jest naprawianie danych u źródła, a nie w arkuszu porównawczym.

Najczęstsze błędy

  • Porównywanie liczb zapisanych jako tekst z liczbami. Excel uzna 101 i „101” za różne wartości.
  • Pomijanie czyszczenia spacji i wielkości liter.
  • Szukanie po nazwisku z inicjałem, gdy na drugiej liście jest pełne imię. Zwykłe formuły nie dopasują „Kowalski J.” do „Kowalski Jan”.
  • Kasowanie „niepasujących” wierszy, zanim ktoś sprawdzi, który zapis jest prawidłowy.

Gotowy darmowy szablon

Szablon jest darmowy. Wklejasz listy do arkuszy „Lista A” i „Lista B”: klucz i dwie dodatkowe wartości, do 5000 wierszy na każdej. Klucz jest czyszczony automatycznie z zbędnych spacji, wielkość liter jest ujednolicana, a litera Ó traktowana jak O.

Dla każdego wiersza dostajesz wynik: „Jest na drugiej liście”, „Tylko tutaj” albo „Jest, ale wartości się różnią”, a powtórzenia klucza są oznaczane. Uzgodnienie odbywa się z pierwszym znalezionym dopasowaniem na drugiej liście. Arkusz „Podsumowanie” pokazuje razem, zgodne, tylko w A, tylko w B, różnice i duplikaty. Osobne arkusze „Tylko w A”, „Tylko w B” i „Różnice” zawierają gotowe listy z numerami wierszy.

Klucz jest porównywany przez pełną zgodność po oczyszczeniu, bez wyszukiwania przybliżonego. Plik działa w Excelu 2007 i nowszym oraz w LibreOffice, bez makr i zewnętrznych powiązań.

FAQ

Czy da się porównać listy bez formuł?

Można użyć formatowania warunkowego z regułą wyróżniania duplikatów, ale zobaczysz tylko, co się powtarza, a nie co jest różne. Formuły dają pełniejszy obraz.

Co zrobić z milionem wierszy?

Excel ma limit około miliona wierszy, a formuły na tak dużych danych będą wolne. Wtedy lepszy jest import do bazy lub narzędzie Power Query.

Jak porównać więcej niż dwie listy?

Porównuj je parami, na przykład A z B, potem A z C. Przy większej liczbie list rozważ jedną tabelę zbiorczą z kolumną „źródło”.

Dlaczego Excel widzi różnicę, której nie widać?

Zwykle chodzi o spacje na końcu, twardą spację lub liczbę zapisaną jako tekst. Wyczyść klucz funkcją USUŃ.ZBĘDNE.ODSTĘPY i sprawdź typ danych.

Więcej poradników