fbpx

Sortowanie kolumn w ustalonej kolejności (bez VBA)

28.01.2025 | ECP1, Opcje

Załóżmy, że mamy taki zestaw danych: 

Formatka

 

Chciałabym zmienić kolejność kolumn tego zakresu na taką: 

Kolejność kolumn

 

Dodatkowo chcę móc łatwo powtórzyć takie sortowanie kolumn w przyszłości, ponieważ dane generowane są każdorazowo z systemu. A żeby jeszcze utrudnić sprawę – za każdym razem mogą zostać wygenerowane inne kolumny, na szczęście zawsze spośród kolumn wyżej wymienionych. Czyli np. raz możemy mieć wszystkie kolumny, a innym razem – wszystkie poza kolumną Klient. 

Temat może wydawać się dość trudny, jednak wcale taki nie jest. Wystarczą nam dwie excelowe funkcjonalności, aby sobie z nim poradzić: 

  1. Tworzenie listy niestandardowej 
  2. Sortowanie 

I dokładnie takie etapy będzie miało nasze rozwiązanie: najpierw zdefiniujemy kolejność sortowania, tworząc listę niestandardową (czynność jednorazowa), a następnie posortujemy kolumny zakresu według tej kolejności. 

1. Tworzenie listy niestandardowej 

Pierwszym krokiem jest stworzenie listy niestandardowej, określającej kolejność sortowania kolumn. Tę kolejność mamy już wypisaną w zakresie J3:J10 (poprzedni obrazek). 

Z tego zakresu wystarczy teraz stworzyć listę niestandardową – opis potrzebnych do tego czynności znajdziesz w tym artykule: Tworzenie listy niestandardowej

 

2. Sortowanie kolumn w określonej kolejności 

Jak już mamy zdefiniowaną listę niestandardową, to śmiało możemy przejść do sortowania zakresu. 

Wystarczy, że ustawię się gdzieś w obrębie mojego zakresu i z menu Dane wybiorę przycisk sortowania Sortuj. 

Pojawi się kreator sortowania, z którego: 

  1. Należy wybrać Opcje i ustawić w nich sortowanie od prawej do lewej 
  2. Następnie wybrać wiersza arkusza, po którym ma nastąpić sortowanie (u mnie jest to wiersz 3.) 
  3. Ostatni krok to wybór kolejności sortowania. Tutaj wybieramy, że chcemy sortować wg listy niestandardowej i z okienka, które po chwili się pojawi, wybrać przed chwilą zdefiniowaną listę. 

Sortowanie wg kolumn

 

Teraz wystarczy już tylko zatwierdzić wszystkie okienka i voila! Efekt jest taki: 

WYNIK

 

Wspominałam, że nasze sortowanie ma sobie poradzić nawet w sytuacji, kiedy którejś kolumny zabraknie. Przetestujmy to. 

Oto zakres bez kolumny Klient i Ilość op.: 

Inny zakres

 

Po uruchomieniu sortowania (już nie muszę definiować listy niestandardowej – mogę ją śmiało wykorzystywać w dowolnym pliku na moim komputerze) efekt mam następujący: 

Sortowanie wybranych kolumn

 

Jak widać, to rozwiązanie poradziło sobie z tym bez problemu 😊. 

Jedyny minus to taki, że za każdym razem trzeba to sortowanie wyklikiwać. W sumie to nie ma z tym tak dużo pracy 😉. Jak dla kogoś zbyt dużo, to zawsze może sobie nagrać proste makro, które będzie takie sortowanie robiło za niego. 

Tylko prostego odświeżenia wymagałoby rozwiązanie za pomocą Power Query. I korci mnie, żeby Ci je kiedyś pokazać… 😉 

A tymczasem to tyle na dziś! 


 

Film na Youtubie, gdzie pokazuję powyższe rozwiązanie:

 

 

 

Jeżeli chcesz lepiej poznać Excela na poziomie podstawowym zapisz się na listę zainteresowanych kursem Excel w codziennej pracy cz. 1! Podczas oczekiwania na kurs będę Ci wysyłała informacje, ciekawostki i excelowe triki. Bezpłatnie! 

Pomogłam Ci? Postaw mi wirtualną kawę! →

Przeczytaj podobne wpisy

Kategorie

0 komentarzy

Wyślij komentarz

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