fbpx

Porównywanie danych: jak znaleźć brakujące faktury?

17.09.2024 | ECP2, Formuły i funkcje, Księgowość, Power Query

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: 

Formatka

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: 

Wynik WYSZUKAJ.PIONOWO

 

Zatem wszędzie tam, gdzie funkcja zwróciła błąd #N/D mamy do czynienia z brakującą fakturą. Możemy je wyfiltrować: 

Wybieranie brakujących faktur

 

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: 

Wynik X.WYSZUKAJ

 

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ć: 

  1. Ustaw się w tabeli, którą chcesz zaimportować do Power Query (tbWszystkie) 
  2. 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: 

Dane zaimportowane do Power Query

 

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: 

Usuwanie innych kolumn w Power Query

 

Teraz możemy zmienić typ danych pozostawionej kolumny na Tekstowy: kliknij ikonkę ABD123 w nagłówku tej kolumny i wybierz Tekst. 

Zapytanie gotowe: 

Wynik zapytania Wszystkie

 

Dokładnie to samo trzeba zrobić teraz z drugą tabelą w Excelu – tbSystem. Efekt będzie taki: 

Wynik zapytania System

 

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: 

Scalanie zapytań jako nowe w Power Query

 

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. 

  1. Z drugiej listy rozwijanej wskaż zapytanie, które ma zostać scalone z zapytaniem, od którego rozpocząłeś scalanie. U nas jest to System 
  2. Na podglądzie obu zapytań wskaż kolumny, po których ma nastąpić scalanie (w obu przypadkach jest to kolumna Nr Faktury) 
  3. Następnie wybierz rodzaj sprzężenia: Lewe anty 
  4. Zatwierdź OK: 

Okienko scalania w Power Query

 

Efektem będzie nowe zapytanie o nazwie Scalanie1 (polecam zmienić jego nazwę na np. Brakujące): 

Wynik scalania do dalszych zmian

 

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: 

Wynik zapytania scalającego

 

Co kto woli, co kto lubi, co dla kogo jest odpowiedniejsze 👍. 

A Ty jaką metodę wolisz? 

Mam nadzieję, że pomogłam 😊 

 


Plik do pobrania:

https://malinowyexcel.pl/wp-content/uploads/2024/09/20240917-MalinowyExcel-Brakujace-faktury-DW.xlsx

 

I film na Youtubie, gdzie pokazuję powyższe rozwiązanie:

 

 

 

Jeżeli chcesz lepiej poznać Power Query zapisz się na listę zainteresowanych kursem Power Query w Excelu od podstaw! Podczas oczekiwania na kurs będę Ci wysyłała informacje i ciekawostki na temat Power Query. Bezpłatnie! 

Pomogłam Ci? Postaw mi wirtualną kawę! →

Przeczytaj podobne wpisy

Kategorie

0 Comments

Submit a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *