fbpx

Proste łączenie danych z kilku plików w jeden plik [Power Query]

20.08.2019 | Power Query

Czyli najprostszy z możliwych sposobów na łączenie danych z plików

Jeśli masz w jednym folderze wiele plików o tej samej strukturze – możesz szybko połączyć dane z tych plików w jeden zbiorczy plik. Potrzebujesz tylko Power Query i dosłownie kilka kliknięć myszką. W moim przykładzie są dane sprzedażowe poszczególnych przedstawicieli handlowych – każdy ma swój plik nazwany jego imieniem. W każdym z tych plików znajduje się jeden arkusz, nazwany Sales, gdzie jest zakres z danymi do połączenia. Zobacz dalej, jakie to proste…

Założenia

Zanim pokażę Ci tę prościutką i przyjemną metodę łączenia danych z plików – sprecyzuję w jakich okolicznościach można w ogóle tej metody użyć. Od razu mówię: w najprostszych z możliwych :).

  • pliki znajdują się w jednym folderze (znajdują się tam TYLKO pliki do scalenia!),
  • arkusz z danymi do połączenia nazywa się tak samo we wszystkich plikach źródłowych,
  • jednakowe nazwy kolumn w łączonych zakresach,
  • zakresy do połączenia zaczynają się od początku arkusza,
  • połączone zostaną kolumny, takie jak w przykładowym pliku (można go wybrać w kreatorze łączenia), pozostałe zostaną pominięte.

Założenia te obrazuje poniższy obrazek:

Założenia

Założenia łączenia plików

Jak widać – najprostsza sytuacja z możliwych: pliki w jednym miejscu, o identycznej strukturze. Ale często taką własnie sytuację mamy :). Pamiętaj tylko, że do wykonania tego zadania potrzebne jest Power Query: od wersji 2016 w górę jest to wbudowana funkcjonalność; w 2010 i 2013 – należy doinstalować dodatek.

Kolejne czynności

  1. Najpierw mówimy Power Query skąd chcemy zaimportować dane, a jest to folder z naszymi plikami źródłowymi, czyli (nawigacja Excela 2016 i wyższych): Dane/ Pobierz dane/ Z pliku/ Z folderu:
Nawigacja

Nawigacja

2. Następnie, w okienku z obrazka poniżej wskazujemy folder, w którym znajdują się nasze pliki źródłowe (ze sprzedażą handlowców). Po wybraniu folderu – klikamy OK:

Okienko Wskaż folder

Okienko Wskaż folder

3. Pojawi się podgląd plików z wybranego folderu. Klikamy dalej Połącz/ Połącz i edytuj (dla starszych wersji Excela) lub Połącz/ Łączenie i przekształcanie danych (dla 365)

Łączenie

Łączenie (wygląd okienka dla starszych wersji Excela)

Malinowy Excel Łączenie plików Power Query 365

Łączenie (wygląd okienka dla Office 365)

4. Kolejny krok to wybór szablonowego arkusza. Na jego podstawie Power Query stwierdzi z jakimi danymi ma do czynienia – klikamy w nazwę arkusza, u mnie to Sales. Krok ten zatwierdzamy OK. Uwaga! Pozostałe pliki muszą mieć arkusz o takiej samej nazwie. Te arkusze bowiem zostaną połączone.

Wybór arkusza szablonowego

Wybór arkusza szablonowego

5. Ostatni krok to już tylko załadowanie danych do Excela, czyli Plik/ Zamknij i załaduj. Przy tej instrukcji dane zostaną załadowane do nowego arkusza. Jeśli zaś chcesz, aby zostały załadowane do już istniejącego arkusza, polecam Ci opcję: Plik/ Zamknij i załaduj ▼ /Zamknij i załaduj do… i tam możesz wybrać gdzie dokładnie chcesz umieścić wynikowe dane:

Wybór miejsca umieszczenia danych

Wybór miejsca umieszczenia danych

Oczywiście połączone dane możesz załadować od razu do tabeli przestawnej, czy też możesz stworzyć z nich wykres przestawny (który np. pięknie pofiltrujesz za pomocą fragmentatorów). Hulaj dusza, piekła nie ma z Power Query! 😉

Gotowe, połączone dane wyglądają tak:

Wynik

Wynik

Jak widać dostaliśmy bardzo ładną informację o nazwach plików źródłowych, z których pochodzą dane. W naszym przypadku akurat informacja ta nie jest potrzebna, ponieważ mamy już kolumnę z przedstawicielami handlowymi, natomiast nie zawsze tak musi być. Jeśli chcielibyśmy jedną z tych kolumn usunąć – trzeba byłoby to zrobić w edytorze Power Query, którego celowo w tym wpisie nie dotykam bardziej. Rozwiązanie to jest mega proste, co czyni je cudownym! Każdy może je wykonać. Jest niestety mało eleganckie, ponieważ tworzy „śmietnik” w zapytaniach. Zobacz, ile ich zostało wygenerowanych (Dane/ Zapytania i połączenia):

Bardzo dużo zapytań

Bardzo dużo zapytań…

Ale coś za coś… Sami oceńcie na ile to rozwiązanie Wam się przyda i na ile jesteście w stanie zaakceptować to „niedociągnięcie” ;).   A na koniec wersja wideo tego rozwiązania:

Powiązane produkty

  • Power Query – wstęp dla laików – Celem tego webinaru jest wprowadzenie w magiczny świat Power Query wszystkich tych, którzy jeszcze nie mieli do czynienia z tym cudownym narzędziem. Coś tam kiedyś słyszeli, coś widzieli, ale jeszcze nic samodzielnie nie robili.
  • Tabele przestawne z kilku arkuszy (a nawet plików), czyli Power Query w praktyce! – Podczas tego webinaru tworzymy tabele przestawne, ale już nie takie najprostsze. Źródłem tych tabel są bowiem dane zawarte w kilku arkuszach tego samego pliku, a także dane z wielu różnych plików Excela! Używamy do tego Power Query, a jakże. Dzięki temu webinarowi zobaczysz, że nie taki wilk straszny i że Power Query jest naprawdę przyjaznym narzędziem!

 

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

18 komentarzy

  1. Wow! Faktycznie proste. Moje pliki zawierają kolumny do dodawania, nie wersy. Czy tymi funkcjami da się też liczyć kolejne kolumny?

    Reply
    • Hej Ula :). Jeśli dodasz te kolumny wszędzie z takimi samymi nazwami – jak najbardziej będzie OK (żeby PQ miało co dopasować do siebie) 🙂

      Reply
  2. Power QUERY jest bardzo pomocne, ale ostatnio stanąłem przed następującym problemem: jak w o365, gdzie nie ma POWER QUERY zaciągnąć dane do Arkusza 1 z pozostałych arkuszy??
    Wszystko w obrębie jednego pliku, ale excel w o365 jest bardzo ubogi :/

    Reply
    • Hmmm… jeśli nie PQ to może VBA? Tylko to już kawałek kodu…
      Ale jak to w O365 nie ma PQ? Zobacz zakładką Dane:

      Reply
  3. A jak jest jeden folder główny i w nim są podfoldery i w każdym podfolderze jest plik Excela to już się nie da… 🙁

    Reply
    • Hej, tak, to byłoby już trudniejsze łączenie 🙂

      Reply
    • Hej, niestety nie – powyższe zakłada najprostszy scenariusz…

      Reply
  4. Super! Ale jak nie chcemy mieć wszystkiego w jednej tabeli tylko w kolejnych arkuszach, to jak to zrobić?

    Reply
  5. Witam,
    mam mały problem, mianowicie PQ łączy wszystko idealnie ale kolumny we wszystkich plikach muszą być w tej samej kolejności. natomiast u mnie zdarza się że w plikach kolumny są pozamieniane między sobą. Wówczas na wykresie kwartalnym widzę skoki wartości, idealnie na przejściu miesiąca (miesięczne zrzuty danych).
    czy istnieje narzędzie które rozpozna i przypisze odpowiednie kolumny do siebie jednocześnie łącząc pliki ?

    Reply
    • Hej,
      Trzeba trochę pokombinować z tym w pasku formuły Power Query.
      W funkcji Excel.Workbook ustaw przedostatni argument na true. Dzięki temu, kolumny łączone będą wg nagłówków, a nie kolejności kolumn.

      Reply
  6. Super rozwiązanie, dziękuje za instrukcję.

    Reply
    • Maggie, super, bardzo się cieszę, że CI się przydało 🙂

      Reply
  7. Hej, mam takie pytanie.. czy PQ pomoże jeśli mam dane w jednym folderze, dane a w zasadzie ich uklad jest identyczny zawsze ale każdy skoroszyt ma inną nazwę arkusza? Chodzi o to że mam 10 plikow excel z jedną zakłada ale każdy ma inną nazwę która jest data np 01072021, 02072021 itd. Czy da się to polaczyc? Póki co pojawia się błąd i nie wiem jak go ominąć? Czy taki problem jest gdzieś opisany? Dziękuję :*

    Reply
    • Hej, niestety w sposobie, który zaprezentowałam w tym artykule, nazwy arkuszy muszą być takie same.
      Trzeba byłoby bardziej wgryźć się w PQ, żeby sobie z tym poradzić. Albo prelecieć makrem po wszystkich tych plikach i pozmieniać nazwę pierwszego arkusza :).

      Reply
  8. Jest wiele plików w jednym katalogu, o identycznej strukturze. Są to pliki .csv (można ew. przerobić je na .xls z jednym arkuszem tak samo nazwanym). W pliku wynikowym w kolejnych wierszach powinien się znaleźć jeden wiersz z kolejnego pliku źródłowego, zawsze ten sam np. o nr 51. Czyli w pliku wynikowym:
    wiersz 51. z pliku1
    wiersz 51. z pliku2
    wiersz 51. z pliku3

    Jak to zrobić i czy da się zautomatyzować?

    Reply
  9. Pojawia mi się komunikat – „Lista może być niekompletna”, czyli nie nadaje się to rozwiązanie niestety do moich danych…za dużo ich mam 🙁

    Reply
  10. Troche się to formatowanie rozjechało na stronie ale chodzi o to że w jednej tabeli jest część informacji a w drugiej jest kolejna część i teraz jak połączyć to w jedną całość ze wszystkimi informacjami ?

    Reply
    • Hej Kamil, najlepiej mieć jakiś klucz, po którym chcesz połączyć te dane (np. jakieś ID) i skorzystać ze zwykłego scalania zapytań w Power Query 🙂

      Reply

Submit a Comment

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