KemSoft · Excel i Power Query
Jak połączyć kilkadziesiąt plików Excel w jeden raport — Power Query krok po kroku
Każdy sklep wysyła osobny plik, a Ty co miesiąc otwierasz je po kolei, kopiujesz dane i poprawiasz nagłówki? Łączenie plików Excel w Power Query pozwala zbudować powtarzalny proces. Przygotowujesz wspólny format, wskazujesz folder i zapisujesz kroki przekształcania. Kolejne raporty dołączasz przez odświeżenie zapytania.
Przejdziemy przez przykład sprzedaży z kilku sklepów: od plików źródłowych, przez jedną tabelę danych, aż po zestawienie wyników. Przykładowe nazwy sklepów i kwoty w artykule są danymi demonstracyjnymi.
Co robi Power Query, gdy łączy pliki?
Power Query pobiera dane i wykonuje zapisane przekształcenia. W tym przykładzie połączenie oznacza dopisanie wierszy kolejnych sklepów do jednej tabeli. Jeżeli pierwszy plik ma 100 rekordów, drugi 150, a trzeci 200, oczekujemy 450 rekordów przed dodatkowymi filtrami.
Nie tworzymy osobnego zestawu kolumn dla każdego sklepu. Docelowo każdy wiersz opisuje jedną pozycję sprzedaży, a kolumna Sklep pozwala odróżnić punkty. Taki układ ułatwia późniejsze porównania i filtrowanie.
Zakres instrukcji: opis dotyczy klasycznego Excela dla Windows z Power Query, np. Microsoft 365. Nazwy poleceń mogą się nieznacznie różnić między wersjami. Punktem wyjścia jest folder dostępny na komputerze.
1. Przygotuj pliki i wspólny układ
Utwórz folder, np. C:\Raporty\Sprzedaz\, i umieść w nim pliki źródłowe. Skoroszyt z raportem wynikowym zapisz w innym folderze, aby nie trafił do własnego importu.
W każdym pliku zaznacz dane z nagłówkami i użyj Ctrl + T. Potwierdź, że tabela ma nagłówki. Na karcie projektowania tabeli nadaj jej nazwę Sprzedaz. Ta sama nazwa powinna występować w każdym skoroszycie.
| Data | Sklep | Produkt | Ilosc | SprzedazNetto |
|---|---|---|---|---|
| 01.09.2026 | Katowice Centrum | Chleb na zakwasie | 120 | 960,00 |
| 01.09.2026 | Gliwice Rynek | Drożdżówka z serem | 80 | 400,00 |
| 02.09.2026 | Katowice Centrum | Chleb na zakwasie | 100 | 800,00 |
W tym przykładzie SprzedazNetto to łączna wartość sprzedaży w danym wierszu. Nie mnożymy jej ponownie przez ilość. Jeśli Twój eksport zawiera cenę jednostkową, utwórz oddzielną kolumnę wartości według zasad swojego raportu.
- Stosuj identyczne nazwy kolumn, np. zawsze
SprzedazNetto. - Usuń scalone komórki i tytuły wewnątrz danych.
- Nie wpisuj ręcznych wierszy „Razem” pomiędzy transakcjami.
- Sprawdź, czy każdy rekord ma sklep i datę.
- Przyjmij jedną zasadę: jeden wiersz to transakcja, pozycja dokumentu albo dzienna sprzedaż produktu. Nie mieszaj tych poziomów szczegółowości.
Porządek w źródle zmniejsza liczbę wyjątków. Warto zacząć od trzech plików z różnych punktów, zanim obejmiesz procesem cały folder.
2. Połącz się z folderem i wybierz właściwe pliki
- Otwórz nowy skoroszyt raportowy.
- Przejdź do Dane → Pobierz dane → Z pliku → Z folderu.
- Wskaż folder z raportami źródłowymi.
- W podglądzie wybierz Przekształć dane, aby najpierw sprawdzić listę plików.
Edytor pokaże listę plików z informacjami takimi jak Name, Extension, Folder Path i Content. Nazwy kolumn metadanych mogą być angielskie także w polskim Excelu. Kolumna Content zawiera zawartość pliku w postaci binarnej.
Przed połączeniem pozostaw pliki .xlsx, wyklucz nazwy zaczynające się od ~$ i odrzuć kopie robocze. Łącznik folderu uwzględnia także podfoldery, więc sprawdź kolumnę Folder Path. Jeśli mają wejść dane tylko z jednego katalogu, ustaw filtr równości dla jego pełnej ścieżki.
Przykład: plik Katowice_2026-09.xlsx ma wejść do raportu. Plik Katowice_2026-09_kopia.xlsx może powielić te same dane. Zdefiniuj regułę nazw i przechowuj kopie poza importowanym folderem.
3. Wybierz tabelę i połącz dane
Kliknij ikonę Połącz pliki w nagłówku kolumny Content. W oknie łączenia wybierz poprawny plik przykładowy oraz tabelę Sprzedaz, a następnie zatwierdź.
Power Query utworzy zapytanie główne oraz zapytania pomocnicze, w tym przekształcenie pliku przykładowego i funkcję wykonywaną dla kolejnych plików. Nazwy pomocników zależą od wersji językowej Excela. Nie usuwaj ich, jeśli zapytanie główne z nich korzysta.
Przekształcenia wykonywane wewnątrz każdego pliku, np. usunięcie wstępnych wierszy z tytułem, wprowadź w zapytaniu pliku przykładowego. Filtry dotyczące całej gotowej tabeli, np. ograniczenie dat raportu, możesz dodać w zapytaniu głównym.
Zachowaj nazwę źródła, często widoczną jako Source.Name, i nazwij ją PlikZrodlowy. Dzięki temu przy nieprawidłowym rekordzie łatwo ustalisz, który plik trzeba sprawdzić.
Po zmianie kolumn w pliku przykładowym sprawdź także kroki rozwijania tabeli i ustawiania typów w zapytaniu głównym. Nowa kolumna w źródle nie zawsze pojawi się w wyniku bez zmiany tych kroków.
4. Uporządkuj kolumny i ustaw typy danych
Kolumny powinny mieć te same znaczenie i nazwę. Kwota w jednym pliku oraz SprzedazNetto w drugim wymagają ustalenia wspólnego nazewnictwa. Dopisywanie tabel rozpoznaje kolumny po nazwach, a nie po ich pozycji. Standardowy proces łączenia folderu dodatkowo opiera się na strukturze pliku przykładowego.
| Kolumna | Typ w przykładzie | Co sprawdzić? |
|---|---|---|
| Data | Data | Czy dzień i miesiąc zostały poprawnie rozpoznane? |
| Sklep, Produkt | Tekst | Czy nazwy nie zawierają dodatkowych spacji? |
| Ilosc | Liczba całkowita | Przy sprzedaży na wagę wybierz liczbę dziesiętną. |
| SprzedazNetto | Stała liczba dziesiętna | Typ ma cztery miejsca dziesiętne; ustal wymaganą precyzję. |
| PlikZrodlowy | Tekst | Czy źródło można odnaleźć po nazwie? |
Gdy kwoty lub daty są tekstem w polskim formacie, wybierz przy zmianie typu Użyj ustawień regionalnych i ustaw polską lokalizację. Sam wygląd „1 234,50” nie gwarantuje, że wartość jest liczbą.
Dla osób korzystających z Edytora zaawansowanego poniżej znajduje się przykładowy krok języka M. Wstaw go po kroku przygotowującym kolumny i zmień #"Poprzedni krok" na rzeczywistą nazwę wcześniejszego kroku. To fragment zapytania, a nie kompletne zapytanie do folderu.
Table.TransformColumnTypes(
#"Poprzedni krok",
{
{"Data", type date},
{"Sklep", type text},
{"Produkt", type text},
{"Ilosc", Int64.Type},
{"SprzedazNetto", Currency.Type}
},
"pl-PL"
)
Na kolumnach tekstowych możesz zastosować usunięcie zbędnych spacji i oczyszczenie znaków. Nie usuwaj jednak wszystkich spacji z nazw produktów, bo „Chleb na zakwasie” powinien pozostać czytelny.
5. Zbuduj raport sprzedaży
Nazwij zapytanie Sprzedaz_Wszystkie_Sklepy i wybierz Zamknij i załaduj do… → Tabela, np. do nowego arkusza. Z otrzymanej tabeli utwórz tabelę przestawną. Umieść Sklep w wierszach, a SprzedazNetto w wartościach z funkcją Suma. Dodaj Datę jako filtr lub pole do grupowania okresów.
| Sklep | Suma sprzedaży netto | Suma ilości |
|---|---|---|
| Katowice Centrum | 1 760,00 zł | 220 |
| Gliwice Rynek | 400,00 zł | 80 |
| Łącznie | 2 160,00 zł | 300 |
Jeśli Excel pokazuje „Licznik z SprzedazNetto”, sprawdź typ wartości oraz ustawienia pola tabeli przestawnej. Wartość sprzedaży powinna być sumowana. Ilości sumuj tylko wtedy, gdy jednostki są porównywalne — wspólna suma kilogramów i sztuk nie ma sensu.
Po poprawnym połączeniu możesz analizować udział sklepu w sprzedaży, wyniki produktów lub zmiany między okresami. Zanim dodasz wykresy, uzgodnij sumę raportu z plikami źródłowymi.
6. Dodawaj nowe pliki i odświeżaj raport
- Zapisz nowy plik w importowanym folderze i zamknij go.
- Sprawdź nazwę tabeli Sprzedaz oraz wymagane kolumny.
- W skoroszycie raportowym wybierz Dane → Odśwież wszystko.
- Poczekaj na zakończenie zapytania i sprawdź komunikaty w panelu zapytań.
- Odśwież tabelę przestawną po zakończeniu ładowania danych, aby pracowała na aktualnym wyniku.
- Porównaj liczbę plików i sumy z oczekiwanym zestawem.
Plik trafi do wyniku, jeśli odpowiada filtrom i zapisanym przekształceniom. Samo skopiowanie go do folderu nie oznacza natychmiastowej aktualizacji raportu. Odświeżenie ponownie odczytuje źródła; nie działa jak dopisywanie wyłącznie nowych rekordów do trwałego archiwum.
Jeśli usuniesz źródłowy plik, jego dane mogą zniknąć przy kolejnym odświeżeniu. Jeśli zastąpisz go poprawioną wersją, raport odczyta nowe wartości. Przechowuj historię źródeł zgodnie z przyjętym zakresem raportowania.
Najczęstsze błędy i ich przyczyny
| Objaw | Co sprawdzić? | Działanie |
|---|---|---|
| Brak nowego pliku | Folder, rozszerzenie, filtr nazwy | Sprawdź listę przed krokiem łączenia. |
| Nie znaleziono tabeli | Nazwa Sprzedaz w danym pliku | Popraw nazwę albo popraw krok nawigacji. |
| Nie znaleziono kolumny | Nagłówki i odwołania w krokach | Popraw nazwę w źródle lub przekształceniu. |
| Error w kwocie lub dacie | Treść komórki i ustawienia regionalne | Sprawdź szczegóły błędu konwersji. |
| Zawyżona sprzedaż | Kopie i ręczne sumy | Usuń przyczynę podwójnego liczenia. |
| Brak dostępu do źródła | Ścieżka i uprawnienia | Ustaw dostępne źródło danych. |
Błąd całego kroku może zatrzymać zapytanie. Błąd pojedynczej komórki pojawia się jako Error. Otwórz szczegóły, aby ustalić przyczynę. Do diagnostyki możesz zachować wiersze z błędami w osobnym zapytaniu.
Opcja pomijania plików z błędami może wykluczyć część źródeł. Jeżeli z niej korzystasz, prowadź listę pominiętych plików. Kwoty z błędem nie zastępuj automatycznie zerem bez ustalonej reguły — zero oznacza konkretną wartość biznesową.
Kontrola kompletności: raport może wyglądać dobrze i nadal być niepełny
To, że zapytanie zakończyło się bez komunikatu, nie potwierdza jeszcze kompletności danych. Proponowany zestaw kontroli dla raportu sprzedaży obejmuje:
- Pliki: porównaj oczekiwane nazwy z rzeczywiście zaimportowanymi.
- Sklepy: sprawdź, czy żaden punkt nie zniknął z danego okresu.
- Daty: sprawdź pierwszą i ostatnią datę oraz ewentualne luki.
- Wiersze: porównaj liczbę rekordów przed i po filtrach.
- Kwoty: porównaj sumę z kontrolnym zestawieniem źródeł.
- Duplikaty: badaj je według klucza biznesowego, np. sklepu, dokumentu i numeru pozycji.
Lista plików przed łączeniem jest szczególnie przydatna: plik z pustą tabelą nie wniesie żadnego rekordu, więc nie zobaczysz jego nazwy w gotowej tabeli sprzedaży. Sama lista różnych wartości PlikZrodlowy nie wystarczy do kontroli wszystkich dostarczonych plików.
Nie usuwaj duplikatów tylko dlatego, że dwa wiersze wyglądają tak samo. Dwie prawidłowe transakcje mogą mieć identyczną datę, produkt i kwotę. Najpierw ustal, co jednoznacznie identyfikuje zapis.
Pytania i odpowiedzi
Czy każdy plik musi mieć tę samą nazwę?
Nie. Nazwy plików mogą wskazywać sklep i okres. W opisanym wariancie wspólne muszą być nazwa tabeli Sprzedaz oraz uzgodnione nagłówki i znaczenie kolumn.
Czy można połączyć arkusze zamiast tabel?
Tak, ale wtedy trzeba pilnować nazw arkuszy, położenia nagłówków i zakresu danych. Tabela Excela daje w tym przykładzie wygodny, nazwany obiekt do pobrania.
Co zrobić, gdy sklepy przesyłają różne formaty?
Wprowadź wspólny wzór albo przygotuj osobne przekształcenia dla każdego wariantu. Dopiero ujednolicone dane połącz w końcowym zestawieniu. Jeden wzorzec przykładowego pliku nie rozwiązuje dowolnych różnic układu.
Czy rozwiązanie zadziała dla plików na SharePoint?
Power Query obsługuje także źródła SharePoint. Wybierz odpowiedni łącznik i filtr konkretnego folderu. Adres witryny oraz sposób uwierzytelnienia wymagają osobnej konfiguracji; pokazana tutaj lokalna ścieżka nie jest adresem SharePoint.
Powtarzalny raport zaczyna się od wspólnego formatu
Ustal kolumny, przygotuj tabelę Sprzedaz w każdym pliku, wybierz źródła z folderu i zapisz przekształcenia. Potem zbuduj raport oraz kontrolę kompletności. Przy następnym okresie dodajesz pliki i odświeżasz proces, zamiast ponownie kopiować wszystkie dane ręcznie.
Dobry pierwszy test to trzy sklepy i kilka dni sprzedaży. Sprawdź sumy, dodaj czwarty plik i powtórz odświeżenie. Dopiero po takim sprawdzeniu rozszerz zestaw na pozostałe źródła.
Przeczytaj również
Ładowanie artykułów…