Funkcja SORTUJ w Excelu zamiast tradycyjnego sortowania

Microsoft Office
Excel

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])

MS Excel - poziom zaawansowany

850  netto

Wykorzystaj zaawansowane funkcje Excela, zautomatyzuj powtarzalne czynności i odzyskaj czas na inn...
Zobacz szkolenie

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:

 

  1. 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.
  2. 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.
  3. 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.

Więcej o Excelu
  • MS Excel - podstawowy

    MS Excel - poziom podstawowy

    Rozpoczynasz pracę z MS Excel lub chcesz usystematyzować wiedzę? Dowiedz się jak poprawnie rozpocząć pracę z Excelem, budować este...
    Dowiedz się więcej
  • MS Excel - poziom średniozaawa...

    Szkolenie pełne praktycznych zagadnień - tabele przestawne, popularne funkcje, formatowanie warunkowe i wiele innych....
    Dowiedz się więcej
  • MS Excel - poziom zaawansowany...

    Wykorzystaj zaawansowane funkcje Excela, zautomatyzuj powtarzalne czynności i odzyskaj czas na inne zadania....
    Dowiedz się więcej

Podobne artykuły

Wszystkie artykuły