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:
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
- 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:
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:
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)
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.
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:
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:
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):
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!
Wow! Faktycznie proste. Moje pliki zawierają kolumny do dodawania, nie wersy. Czy tymi funkcjami da się też liczyć kolejne kolumny?
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) 🙂
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 :/
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:
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… 🙁
Hej, tak, to byłoby już trudniejsze łączenie 🙂
Hej, niestety nie – powyższe zakłada najprostszy scenariusz…
Super! Ale jak nie chcemy mieć wszystkiego w jednej tabeli tylko w kolejnych arkuszach, to jak to zrobić?
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 ?
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.
Super rozwiązanie, dziękuje za instrukcję.
Maggie, super, bardzo się cieszę, że CI się przydało 🙂
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ę :*
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 :).
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ć?
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 🙁
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 ?
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 🙂