fbpx

Proste łączenie danych z kilku plików w jeden plik

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 scalenia.

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,
  • jeden arkusz z danymi do scalenia w plikach źródłowych,
  • jednakowa liczba kolumn w scalanych zakresach,
  • jednakowe nazwy kolumn w scalanych zakresach.

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:

Łączenie

Łączenie

4. Kolejny krok to wybór szablonowego arkusza. Na jego podstawie Power Query stwierdzi z jakimi plikami ma do czynienia – klikamy w nazwę arkusza, u mnie to Sales. Krok ten zatwierdzamy OK:

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

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 się Wam 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 tej lekcji 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.
  • Kurs online Mistrz Power Query, Adam Kopeć. Kurs jest dla osób, które nie miały wcześniej do czynienia z Power Query, pokrywa zagadnienia od początkowych do bardziej zaawansowanych, jak parametryzacja czy tworzenie własnych funkcji.
    Podany link jest linkiem afiliacyjnym, czyli jeśli kupisz kurs za jego pośrednictwem – ja dostanę drobne wynagrodzenie.

 

 

Zapisz się na bezpłatny mailing!

Zapisz się na bezpłatny mailing i otrzymaj bezpłatny e-book „10 najprzydatniejszych trików w Excelu”!

Newsletter Malinowy Excel | Bezpłatny e-book
Przeczytaj podobne wpisy

Kategorie

16 komentarzy

  1. Ula

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

    Odpowiedz
    • Malina

      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) 🙂

      Odpowiedz
  2. Marcin

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

    Odpowiedz
    • Malina

      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:

      Odpowiedz
  3. Mirek

    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… 🙁

    Odpowiedz
    • Malina

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

      Odpowiedz
    • Malina

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

      Odpowiedz
  4. Jarek

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

    Odpowiedz
  5. Mateusz

    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 ?

    Odpowiedz
    • Malina

      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.

      Odpowiedz
  6. Maggie

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

    Odpowiedz
    • Malina

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

      Odpowiedz
  7. Tomek

    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ę :*

    Odpowiedz
    • Malina

      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 :).

      Odpowiedz
  8. Bartek

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

    Odpowiedz
  9. Mirek

    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 🙁

    Odpowiedz

Wyślij komentarz

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

Pin It on Pinterest