Załóżmy, że mamy ponad 800 faktur do wprowadzenia do systemu. Oczywiście robimy to importem, a nie ręcznie. Na koniec tego importu system raportuje jakie faktury zaimportował i okazuje się, że 600. Czyli jakieś faktury nie zostały zaimportowane do systemu.
Pytanie tylko: jakie?
I jak to teraz sprawdzić?
W tym artykule pokażę Ci trzy sposoby, aby to sprawdzić.
Założenie jest takie, że dysponujemy listą wszystkich faktur – u mnie w danych znajdują się one w arkuszu Wszystkie, oraz listą faktur zaimportowanych do systemu – u mnie w danych są one w arkuszu W systemie. O tak:
Metoda 1: WYSZUKAJ.PIONOWO
Zapewne pierwszą myślą, jaka przychodzi do głowy użytkownikom Excela w takiej sytuacji, jest funkcja WYSZUKAJ.PIONOWO. – i bardzo słusznie – porównywanie danych jest jednym z jej podstawowych zastosowań.
Chodzi o to, aby w zestawieniu wszystkich faktur dorobić kolumnę, w której zanotujemy czy konkretna faktura występuje w zestawieniu faktur z systemu, czy nie.
W tym celu do kolumny obok danych, u mnie będzie to komórka H4, wpiszmy następującą formułę:
=WYSZUKAJ.PIONOWO([@[Nr Faktury]];tbSystem[Nr Faktury];1;0)
U mnie dane znajdują się w obiektach tabela, stąd występujące w formułach odwołania strukturalne np. [@[Nr Faktury]].
Jeśli nie mielibyśmy obiektów tabela, formuła wyglądałaby tak:
=WYSZUKAJ.PIONOWO(Wszyskie!$C4;'W systemie'!$C$4:$C$650;1;0)
A wynik funkcji wygląda tak:
Zatem wszędzie tam, gdzie funkcja zwróciła błąd #N/D mamy do czynienia z brakującą fakturą. Możemy je wyfiltrować:
Efekt osiągnięty.
Metoda 2: X.WYSZUKAJ
Drugą i bardzo podobną metodą jest użycie funkcji X.WYSZUKAJ (nie każda wersja Excela ją posiada!). Robimy to na tej samej zasadzie co poprzednio, czyli tworzymy nową kolumnę w tabeli, zawierającą następującą funkcję:
=X.WYSZUKAJ([@[Nr Faktury]];tbSystem[Nr Faktury];tbSystem[Nr Faktury];"Brak")
Lub w wersji bez obiektu tabeli:
=X.WYSZUKAJ(Wszyskie!$C4;'W systemie'!$C$4:$C$650;'W systemie'!$C$4:$C$650;"Brak")
Efekt obu jest identyczny, o taki:
Funkcja X.WYSZUKAJ ma wbudowaną możliwość wyświetlenia jakiegoś tekstu, np. Brak wszędzie tam, gdzie zwróci błąd #N/D, czyli mówiąc po ludzku: nie znajdzie faktury. Skorzystałam z tej opcji 😊.
Metoda 3: Power Query – scalanie
Ostatnia metoda to zastosowanie Power Query. Aby je użyć, najpierw musimy zaimportować do Power Query dane, a zatem obie tabele: ze wszystkimi fakturami (u mnie tabela nazywa się tbWszystkie) i fakturami z systemu (tbSystem).
Aby to zrobić:
- Ustaw się w tabeli, którą chcesz zaimportować do Power Query (tbWszystkie)
- Menu Dane → Z tabeli/zakresu
Otworzy się Power Query z nowo utworzonym zapytaniem o nazwie takiej, jak importowana tabela. Nazwę tę możesz oczywiście zmienić w okienku Ustawienia zapytania po prawej stronie. Ja zmieniłam na Wszystkie. Wynik jest tak:
Power Query automatycznie zastosował krok zmiany typu danych, który śmiało możesz teraz usunąć. Wystarczy nam bowiem tylko kolumna z numerem faktury, a resztę możemy usunąć.
W tym celu kliknij na kolumnę Nr Faktury prawym przyciskiem myszy i z menu kontekstowego wybierz Usuń inne kolumny:
Teraz możemy zmienić typ danych pozostawionej kolumny na Tekstowy: kliknij ikonkę ABD123 w nagłówku tej kolumny i wybierz Tekst.
Zapytanie gotowe:
Dokładnie to samo trzeba zrobić teraz z drugą tabelą w Excelu – tbSystem. Efekt będzie taki:
Kiedy już mamy obie tabele zaimportowane do Power Query, możemy zabrać się za ich scalenie, czyli połączenie w taki sposób, aby w wyniku otrzymać tylko faktury, których nie ma w zestawieniu System.
Aby to zrobić, wejdź do zapytania ze wszystkimi fakturami (u mnie nazywa się ono Wszystkie).
Następnie z menu Narzędzia główne wybierz Scal zapytania → Scal zapytania jako nowe:
Utworzysz w ten sposób nowe zapytanie, będą wynikiem scalenia dwóch zapytań. Tylko jeszcze trzeba powiedzieć których dwóch. Robimy to w okienku scalania.
- Z drugiej listy rozwijanej wskaż zapytanie, które ma zostać scalone z zapytaniem, od którego rozpocząłeś scalanie. U nas jest to System
- Na podglądzie obu zapytań wskaż kolumny, po których ma nastąpić scalanie (w obu przypadkach jest to kolumna Nr Faktury)
- Następnie wybierz rodzaj sprzężenia: Lewe anty
- Zatwierdź OK:
Efektem będzie nowe zapytanie o nazwie Scalanie1 (polecam zmienić jego nazwę na np. Brakujące):
Obecnie w kolumnie Nr Faktury znajdują się już tylko brakujące faktury, czyli dokładnie to, o co nam chodziło. Teraz wystarczy tylko usunąć nowopowstałą kolumnę System (nic nie wnosi – będzie ona zawsze pusta) i można ładować dane do Excela. Oto wynik Brakujące już po załadowaniu do Excela:
Co kto woli, co kto lubi, co dla kogo jest odpowiedniejsze 👍.
A Ty jaką metodę wolisz?
Mam nadzieję, że pomogłam 😊
https://malinowyexcel.pl/wp-content/uploads/2024/09/20240917-MalinowyExcel-Brakujace-faktury-DW.xlsx
I film na Youtubie, gdzie pokazuję powyższe rozwiązanie:
Artykuł Porównywanie danych: jak znaleźć brakujące faktury? pochodzi z serwisu Malinowy Excel.