W poprzednim wpisie wyciągnęliśmy listę plików z katalogu za pomocą funkcji makr 4.0. Tym razem chcemy to zrobić za pomocą Power Query. Funkcje w porównaniu do Power Query mają jedną zaletę automatycznie się odświeżają. Natomiast zapytania Power Query przeważnie musimy odświeżać ręcznie. Ale w pozostałych kwestiach uważam, że Power Query się lepiej sprawdza do rozwiązania tego problemu m.in. dlatego, że automatycznie sięga do podkatalogów, a z makrami trzeba już pisać bardzo skomplikowany kod VBA.
Starczy wstępu. Znamy już ścieżkę katalogu (C:\Users\PC\Documents\Pliki), więc możemy zacząć budować zapytanie Power Query. W Excelu 2016 przechodzimy do karty Dane -> polecenie Nowe zapytanie -> Z pliku -> Z folderu…
Wklejamy ścieżkę w okno, które się pojawi i naciskamy przycisk OK.
W następnym oknie przechodzimy do Edycji.
Pierwsza zaleta na korzyść Power Query w porównaniu do funkcji makr 4.0 – od razu widzimy wyniki zapytania i mamy więcej informacji o pliku niż tylko jego nazwa.
Dodatkowo jeśli odnajdziemy kolumnę Folder Path, to zobaczymy, że Power Query wyciągnął również pliki z podkatalogów wskazanego katalogu.
W większości chcemy zaglądać również do podkatalogów wskazanego folderu, ale jeśli ich nie potrzebujesz wystarczy przefiltrować dane po kolumnie Folder Path.
Jeśli chcemy zobaczyć więcej informacji o plikach wystarczy, że rozwiniemy kolumnę Attributes (klikając w dwie strzałki wskazujące w przeciwnych kierunkach w nagłówku tej kolumny).
My więcej atrybutów nie potrzebujemy, chcemy ich mieć wręcz mniej, ale to zrobimy na koniec zapytania. Teraz chcemy przefiltrować dane tak, żebyśmy widzieli tylko pliki Excela. Możemy do tego wykorzystać kolumnę Extension, ale musimy pamiętać, że Power Query jest Case Sensitive, czyli, w przeciwieństwie do Excela, zwraca uwagę na wielkość liter. Czasami się zdarza, że niektóre programy zapisują rozszerzenia wielkimi literami, co może się dla nas okazać problemem. Dlatego przed filtrowaniem zamienimy wszystkie litery w kolumnie Extension na małe (karta Przekształć -> polecenie Format -> małe litery)
Teraz możemy już przefiltrować dane po kolumnie Extension, tylko nie chcemy po prostu odhaczać niepasujących rozszerzeń, tylko chcemy przejść do filtrów tekstu – zaczyna się od.
W oknie, które się pojawi wpisujemy tekst ‘.xls’, ponieważ interesują nas takie rozszerzenia jak ‘.xls’, ‘.xlsx’, ‘.xlsm’ i podobne związane z Excelem.
Odfiltrowaliśmy nieinteresujące nas pliki, więc teraz wystarczy usunąć wszystkie kolumny poza Name. To bardzo proste, bo wystarczy na nią kliknąć prawym przyciskiem myszy i w podręcznym menu wybrać opcję Usuń inne kolumny.
Teraz pozostaje nam tylko załadować dane do Excela.
Power Query w porównaniu do funkcji makr 4.0 sięga do podkatalogów, pozwala łatwo odfiltrować niechciane katalogi i daje więcej możliwości jeśli chodzi o filtrowanie plików i ich rozszerzeń. Niestety nie odświeża się automatycznie i trudniej mu zmienić ścieżkę do folderu, gdzie funkcja PLIKI patrzy na wartość w komórce, którą łatwo umiemy zmienić (żeby nakłonić Power Query, żeby pobierał ścieżkę do folderu zobacz mój film/wpisu — Porada #305). Czyli jak to często powtarzam w Excelu, jak w życiu, jest wiele sposobów na uzyskanie tego samego, z jakiego sposobu skorzystasz, zależy głównie od Twoich potrzeb i możliwości 😉
Pozdrawiam
Adam Kopeć
Miłośnik Excela
Microsoft MVP
witam,
czy można jakoś wymusić odświeżanie plików w trakcie ich używania przez użytkowników ?
We właściwościach zapytania (karta Zapytanie) można ustawić, żeby odświeżało się zapytanie przy otwieraniu pliku lub co np: 30 minunt.
Hej, pytanko, czy istnieje możliwość aby wyświetlało również wagę danego pliku? Mam za zadanie zarchiwizować terabajt danych (od najstarszych) i niestety ale plików jest set tysięcy, więc wszystkich niestety nie da rady natomiast myślałem, żeby właśnie zacząć od tych największych i stopniowo narastająco się ich "pozbywać"..
P.S. Ogólnie super poradnik. Brawo! 🙂
Zwróć uwagę na 5 rysunek — rozwijanie kolumny Attributes. Jest tam kolumna Size, czyli rozmiar pliku. Wystarczy, że ją zostawisz i posortujesz od największych wartości.
Dzień dobry
Czy w Excel 2013 także mogłabym wykonać takie zadanie? Nie mogę znaleźć polecenia Nowe zadanie — Z pliku — Z folderu — może nazywa się to inaczej…
Z góry dziękuję!
Powinno być bezpośrednio na karcie Power Query polecenie Z pliku -> Z folderu