Każdy korzystający z Excela prędzej czy później stanie przed problemem połączenia dwóch plików z których każdy zawiera inne dane, ale które należy porównać. Do tego celu służy funkcja WYSZUKAJ. Jeśli dodatkowo połączymy ją z generowaniem identyfikatorów wierszy (funkcja A1&A2) i tabelami Excela do swojej dyspozycji mamy narzędzie umożliwiające błyskawiczną realizację bardzo pracochłonnych zadań.
Jak porównać listy w Excelu?
Mamy dwie tabele w dwóch różnych arkuszach. W obu są dane pracowników – w jednej z kadr, w drugiej dane o przyznanych premiach. Zadanie może brzmieć:
- Dopisz do listy pracowników wysokość premii.
- Sprawdź, którzy pracownicy nie dostali premii.
- Sprawdź, czy istnieje pracownik, który dostał premię, ale którego nie ma liście z kadr.
Od czego zacząć porównywanie list?
Aby porównać listy w Excelu trzeba dane przygotować. Na początek warto obie listy zamienić na tabele Excela. Ułatwi nam to bardzo pracę na późniejszym etapie. Warto też obie tabele nazwać – w zakładce Projektowanie w lewym górnym rogu można wpisać nazwę tabeli– możemy się do niej potem odwołać w formułach.
W kolejnym kroku musimy wybrać identyfikator. Jeśli nasza baza zawiera na przykład numer PESEL albo identyfikator z systemu informatycznego, na obu listach taki sam i unikalny dla każdego wiersza (rekordu), wystarczy go umieścić jako PIERWSZĄ KOLUMNĘ naszych obu list. Jeśli nie – musimy taki identyfikator stworzyć. Kiedy już mamy identyfikatory w pierwszych kolumnach list, dane gotowe są do porównania.
PORÓWNANIE LIST czyli WYSZUKAJ PIONOWO
Wybieramy listę podstawową – u nas to będzie lista1 i za ostatnią kolumną wpisujemy formułę:
=WYSZUKAJ.PIONOWO([@ID]; Lista2[#Wszystko];5;0)
Poszczególne składowe tej funkcji:
@ID – wskazuje kolumnę z utworzonym przez nas identyfikatorem, czyli wartość, która będzie wyszukiwana na drugiej liście
Lista2[#Wszystko] – to zakres, który ma być przeszukiwany. Ważne: zakres w pierwszej kolumnie MUSI zawierać identyfikator. Wykorzystanie tabeli Excela pozwala nam utrzymać przeszukanie pełnego zakresu niezależnie od dodawanych rekordów do drugiej listy.
5 – to kolejny parametr: oznacza numer kolumny, z której dane mają zostać pobrane i wpisane w miejscu wpisania funkcji.
0 – oznacza dokładne dopasowanie; na potrzeby porównania list zawsze korzystamy z wartości 0.
Sposób działania:
Przeszukaj ZAKRES szukając w nim wartości ID z aktywnego wiersza i pokaż, co jest wpisane w wierszu zawierającym ID w 5 kolumnie tamtego zakresu.
EFEKT:
Błąd #N/D oznacza, że dana nie została znaleziona na przeszukiwanej liście.
Aby nie pokazywać błędu, dodajemy funkcję JEŻELI.BŁĄD, wtedy funkcja WYSZUKAJ.PIONOWO przybierze postać:
= JEŻELI.BŁĄD (WYSZUKAJ.PIONOWO([@ID]; Lista2[#Wszystko];5;0); „brak”)
Rozwiązania zadań opisanych powyżej:
- Na liście z kadr dodajemy kolumnę z formułą:
=JEŻELI.BŁĄD (WYSZUKAJ.PIONOWO([@ID]; Lista2[#Wszystko];5;0); „brak”)
- Na liście z kadr dodajemy kolumnę z formułą:
=JEŻELI(CZY.LICZBA(WYSZUKAJ.PIONOWO([@ID];Lista2[#Wszystko];5;0)); „jest premia”; „brak premii”)
Funkcja CZY.LICZBA została zastosowana, bo w kolumnie znajdują się liczby. W przypadku tekstu odpowiednią funkcją będzie =CZY.TEKST
- Na liście z premiami dodajemy kolumnę z formułą:
=JEŻELI(CZY.TEKST(WYSZUKAJ.PIONOWO([@ID];Lista1[#Wszystko];1;0));”jest na liście”; „nie ma na liście”)