Funkcja SORTUJ w Excelu zamiast tradycyjnego sortowania
Jeśli powiemy wam, że sortowanie i filtrowanie to nowość w Excelu, to pomyślicie, że Marty mcFly zabrał nas De Loreanem w przeszłość? Otóż nigdzie się nie wybieramy 😊
I choć to pełna prawda, że sortowanie i filtrowanie w Excelu jest dostępne od wielu, wielu wersji Excela, to jednak te narzędzia miały jak dotąd jedną, ale jakże ogromną wadę. Mianowicie brakowało im dynamiki. I znowu możecie powiedzieć: „ale jak to?” Przecież za każdym razem wystarczy, że uruchomię te narzędzia ponownie (co nie jest wprawdzie jakoś strasznie czasochłonne), albo po prostu wybiorę opcję „Zastosuj ponownie” działającą i dla sortowania i dla filtrowania (dla przypomnienia: opcja ta działa dla sortowania tylko wtedy, gdy w danych mam włączone przyciski do filtrowania). Dzięki temu nasze dane na nowo się posortują lub przefiltrują. I choć, jak wspomniano nie potrzeba na to dużo czasu, to jednak muszę pilnować, aby po każdej zmianie w danych lub po dopisaniu nowych danych sortowanie bądź filtrowanie odświeżyć.
Jeśli wolisz nas posłuchać niż poczytać - sprawdź jak opowiadamy o funkcji SORTUJ poniżej
Przyszedł jednak czas, że ktoś pomyślał: „po co ja mam pilnować sortowania i filtrowania, skoro Excel może to zrobić za mnie”. I tak narodziły się nowe funkcje w Excelu: SORTUJ() (ang. SORT()) oraz FILTRUJ() (ang. FILTER()). W tym artykule zobaczymy jak wygląda i jak działa funkcja SORTUJ();
FUNKCJA SORTUJ()
Załóżmy, że mamy dane dotyczące pracowników pewnej firmy zebrane w następujących kolumnach w tabeli Pracownicy: Imię, Nazwisko, Dział, Data zatrudnienia
Chcielibyśmy mieć te dane posortowane w sposób dynamiczny. Zacznijmy od najprostszej wersji naszej funkcji.
W tym celu w dowolnej komórce poza naszą tabelą wprowadzam funkcję SORTUJ(), w której po kolei podaję następujące argumenty (zgodnie z paskiem podpowiedzi pokazującym się po wybraniu odpowiedniej funkcji, rys.2)
=SORTUJ(tablica;[indeks sortowania];[kolejność sortowania];[według_kolumny])
Tylko pierwszy argument jest wymagany do działania tej funkcji (pozostałe są w pasku z podpowiedzią odnośnie tej funkcji ujęte w nawias kwadratowy, co oznacza, że nie są wymagane).
Możemy podać więc tylko zakres danych do sortowania, który w naszym przypadku będzie wyglądać następująco:
=SORTUJ(Pracownicy)
Ważna uwaga! Dane do sortowania zaznaczamy bez nagłówków. W przeciwnym przypadku nagłówki też zostaną posortowane i będą się pojawiać w odpowiednio dalszym wierszu posortowanych danych.
Po wprowadzeniu takiej formuły otrzymamy dane posortowane wg pierwszej kolumny rosnąco.
Ważne uwagi:
- Funkcja SORTUJ() działa poza danymi pierwotnymi, czyli de facto robi kopię danych, ale odpowiednio je sortując. Wystarczy więc zrobić standardową kopię danych nagłówkowych i zadbać o odpowiedni format posortowanych danych, aby cieszyć się pięknie i dynamicznie sortowanymi danymi.
- Skoro mówimy o funkcji, to każda zmiana w danych źródłowych (lub dopisanie nowych danych do tabeli) spowoduje przeliczenie funkcji SORTUJ(), a więc dane będą cały czas dobrze posortowane i nie jest konieczne żadne odświeżanie tego sortowania.
- Mając aktywną dowolną komórkę w danych posortowanych możemy zauważyć naokoło tych danych takie niebieskie obramowanie. Świadczy ono o tym, że mamy do czynienia z tzw. funkcją tablicową. Więcej o takiego typu funkcjach możesz przeczytać w innych artykułach na naszym blogu. W tym miejscu warto jednak wspomnieć, że aby w jakikolwiek sposób modyfikować naszą formułę, muszę to zrobić w komórce początkowej (w tym przypadku w komórce F2).
Jak mówi stare polskie powiedzenie: „Pierwsze koty za płoty” 😊 Teraz dobrze by było zmodyfikować naszą funkcję tak, aby sortowała dane wg nazwiska alfabetycznie (czyli rosnąco). Muszę więc w naszej funkcji dodatkowo podać argument [indeks sortowania], czyli numer kolumny, wg której sortuję.
Może się też zdarzyć, że będziemy chcieli posortować dane wg nazwiska, ale malejąco. Wtedy podajemy również kolejny argument w funkcji, czyli [kolejność sortowania], zgodnie ze schematem”
1 oznacza kolejność rosnącą,
-1 oznacza kolejność malejącą.
Zatem my wprowadzamy -1.
Do tej pory wszystkie sortowane dane były zorganizowane pionowo (czyli sortowaliśmy wiersze). Może się jednak tak zdarzyć, że dane będą zorganizowane odwrotnie i będziemy chcieli sortować wg kolumn. Wtedy w naszej funkcji SORTUJ() podajemy również ostatni argument, czyli [według_kolumny], zgodnie ze schematem:
FAŁSZ oznacza sortowanie wierszy (czyli sortowanie, które jest stosowane domyślnie)
PRAWDA oznacza sortowanie kolumn.
Tyle 😊 Mam nadzieję, że po tych wszystkich analizach funkcja SORTUJ() już nie jest taka straszna.
Znając już funkcję SORTUJ() zachęcamy Cię do zapoznania się z bardzo analogiczną funkcją FILTRUJ().
Jeśli chcesz przećwiczyć powyższą funkcję w praktyce razem z nami lub poznać inne sprytne narzędzia Excela, to zapraszamy Cię na odpowiednie szkolenie.