0
0 Produkty w koszyku

No products in the cart.

Czasami potrzebujemy posortować dane po nagłówkach kolumn (w poziomie).

Możemy to zrobić w Excelu sortując w poziomie (ważne nie można w ten sposób sortować w tabeli Excela). Wystarczy zaznaczyć dane i wybrać polecenie Sortuj z karty Dane. Czasami dodaje się jeszcze numerację oryginalną kolumn, żeby można do niej łatwo wrócić.

PQ 4 - Sortowanie nagłówków kolumn alfabetycznie 01

ale dziś interesuje nas bardziej jak to zrobić w PowerQuery, gdzie wynik będzie w formie tabeli Excela.

Dla ułatwienia przykładowe dane przechowujemy w tabeli Excela, żeby móc skorzystać polecenia PowerQuery – Z tabeli (w Excelu 2016 znajduje się ono na karcie dane, wcześniej na osobnej karcie dodatku PowerQuery).

PQ 4 - Sortowanie nagłówków kolumn alfabetycznie 02

Trafimy do edytora zapytań (PowerQuery). (Domyślnie doda się krok Zmienione typ po kroku Źródło, który usuwamy, bo nam nie jest potrzebny). 

Nagłówki są w nagłówkach – tak jak powinny być ;), ale my potrzebujemy, żeby znalazły się w pierwszym wierszu danych, dlatego rozwijamy polecenie Użyj pierwszego wiersz jako nagłówka (np.: z karty Przekształć) by uzyskać odwrotny efekt.

PQ 4 - Sortowanie nagłówków kolumn alfabetycznie 03

W PowerQuery brak jest możliwości sortowania w poziomie, dlatego musimy wykonać jeszcze kilka kroków. Pierwszym z nich będzie Transponowanie (karta Przekształć).

PQ 4 - Sortowanie nagłówków kolumn alfabetycznie 04

Wtedy pierwszy wiersz staje się kolumną, a kolumnę już w PowerQuery możemy sortować (np.: z karty Narzędzia główne).
PQ 4 - Sortowanie nagłówków kolumn alfabetycznie 05

Teraz pozostaje nam tylko wykonać drogę powrotną, czyli transponujemy dane, by pierwsza kolumna, stała się pierwszym wierszem, a następnie Używamy pierwszego wiersza jako nagłówków i mamy posortowaną tabelę po nagłówkach (w poziomie). Wystarczy tylko Załadować wynik zapytania tam gdzie chcemy. (Musimy tylko pamiętać, żeby nadać kolumną odpowiednie typy danych w tym przykładzie musimy zrobić to z kolumną z datami, żeby zostały prawidłowo wczytane do Excela).

Pozdrawiam
Adam Kopeć
Miłośnik Excela
Microsoft MVP