Menu

SORTUJ i SORTUJ.WEDŁUG (SORT, SORTBY) w Excelu

=SORTUJ(A2:C7;3;-1) zwraca tabelę A2:C7 posortowaną według trzeciej kolumny, od największej wartości, i sortuje ją na nowo, gdy dane się zmieniają. SORTUJ.WEDŁUG sortuje według dowolnego zakresu, także kilku kolumn i własnej kolejności.

Każdy arkusz na tej stronie działa na żywo: zmień liczbę albo formułę, a się przeliczy.

=SORTUJ(A2:C7;3;-1) (po angielsku SORT) zwraca tabelę A2:C7 posortowaną według trzeciej kolumny, sprzedaży, od największej do najmniejszej. Pierwotna tabela zostaje bez zmian; posortowana kopia rozlewa się z komórki formuły i sortuje się na nowo, gdy zmieni się liczba. Zmień C7 na 300, a Finn przejdzie na górę. Tabela pokazuje formułę po angielsku, =SORT(A2:C7,3,-1), ale możesz w niej wpisywać formuły także po polsku, ze średnikami.

Sprzedaż od najwyższej do najniższej
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120CaraNorth200
3BenSouth80DanEast150
4CaraNorth200AnnNorth120
5DanEast150EveSouth95
6EveSouth95BenSouth80
7FinnNorth60FinnNorth60
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =SORTUJ(A2:C7;3;-1)

Składnia funkcji SORTUJ

=SORT(array, [sort_index], [sort_order], [by_col])
  • array to zakres do posortowania i zwrócenia.
  • sort_index to numer kolumny wewnątrz array, według której sortujesz. Domyślnie 1.
  • sort_order to 1 dla kolejności rosnącej (domyślnie) albo -1 dla malejącej.
  • by_col to FAŁSZ (domyślnie), aby sortować wiersze, albo PRAWDA, aby sortować kolumny od lewej do prawej.

SORTUJ i SORTUJ.WEDŁUG wymagają Excela 2021, Excela 2024 albo Microsoft 365; starsze wersje pokazują #NAZWA? (po angielsku #NAME?; tabele pokazują angielskie nazwy błędów). Arkusze Google mają obie, choć ich SORT przyjmuje parami numer kolumny i TRUE albo FALSE.

Kolejność rosnąca stawia najpierw liczby, potem tekst od A do Z, potem FAŁSZ i PRAWDA. Tekst jest porównywany bez względu na wielkość liter. Puste komórki w array wracają w wyniku jako 0.

Jak posortować alfabetycznie w Excelu

Aby zmienić kolejność listy na miejscu, kliknij dowolną jej komórkę i wybierz Dane > Sortuj od A do Z (albo od Z do A). Jeśli lista ma sąsiednie kolumny, Excel sortuje całą tabelę, żeby każdy wiersz trzymał się razem. Przy więcej niż jednej kolumnie albo liście niestandardowej użyj Dane > Sortuj.

Aby zachować pierwotną kolejność i dostać alfabetyczną kopię, która sama się aktualizuje, użyj SORTUJ bez innych argumentów:

Imiona od A do Z
C2
ABC
1NameA to Z
2MiaAnn
3BenBen
4ZoeCara
5AnnDan
6LeoLeo
7CaraMia
8DanZoe
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =SORTUJ(A2:A8)

Wpisz Abe w A3, a pojawi się na początku. =SORTUJ(A2:A8;;-1) daje kolejność od Z do A; dwa średniki (w tabeli dwa przecinki) pomijają sort_index. Aby posortować listę bez powtórzeń, posortuj wynik UNIKATOWE: =SORTUJ(UNIKATOWE(A2:A8)) (zobacz UNIKATOWE).

SORTUJ.WEDŁUG: sortowanie według kolumny, której nie zwracasz

SORTUJ potrafi sortować tylko według kolumny zwracanego zakresu. SORTUJ.WEDŁUG (SORTBY) przyjmuje klucz sortowania jako osobny zakres, więc możesz zwrócić same imiona uporządkowane według sprzedaży:

Imiona według sprzedaży
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120Cara
3BenSouth80Dan
4CaraNorth200Ann
5DanEast150Eve
6EveSouth95Ben
7FinnNorth60Finn
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =SORTUJ.WEDŁUG(A2:A7;C2:C7;-1)

Wynik to Cara, Dan, Ann, Eve, Ben, Finn. Składnia to =SORTUJ.WEDŁUG(array; by_array1; [sort_order1]; [by_array2; sort_order2]; ...). Każdy by_array musi mieć tyle wierszy co array, inaczej SORTUJ.WEDŁUG zwraca #ARG! (#VALUE!).

Aby dostać pierwszą trójkę, weź pierwsze wiersze wyniku: =WYCINEK(SORTUJ.WEDŁUG(A2:A7;C2:C7;-1);3) zwraca Carę, Dana i Ann. WYCINEK (TAKE) wymaga Microsoft 365 albo Excela 2024; w Excelu 2021 użyj =INDEKS(SORTUJ.WEDŁUG(A2:A7;C2:C7;-1);SEKWENCJA(3)).

Sortowanie według kilku kolumn

Podaj SORTUJ.WEDŁUG jedną parę klucza i kolejności na każdy poziom. Ta formuła sortuje według regionu od A do Z, a w każdym regionie według sprzedaży od najwyższej:

Region od A do Z, potem sprzedaż malejąco
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120DanEast150
3BenSouth80CaraNorth200
4CaraNorth200AnnNorth120
5DanEast150FinnNorth60
6EveSouth95EveSouth95
7FinnNorth60BenSouth80
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =SORTUJ.WEDŁUG(A2:C7;B2:B7;1;C2:C7;-1)

Pierwszy jest East, potem trzy wiersze North jako Cara (200), Ann (120) i Finn (60), potem South. SORTUJ potrafi to samo z tablicami numerów kolumn i kolejności, choć SORTUJ.WEDŁUG czyta się łatwiej (poniżej postać angielska, bo stałe tablicowe zależą od ustawień regionalnych):

=SORT(A2:C7,{2,3},{1,-1})

Sortowanie we własnej kolejności

Kolejność alfabetyczna nie zawsze jest tą, której chcesz. Aby posortować regiony jako North, East, South, zamień każdy region na jego pozycję na tej liście funkcją PODAJ.POZYCJĘ (MATCH) i sortuj według pozycji:

Najpierw North, potem East, potem South
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120AnnNorth120
3BenSouth80CaraNorth200
4CaraNorth200FinnNorth60
5DanEast150DanEast150
6EveSouth95BenSouth80
7FinnNorth60EveSouth95
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

PODAJ.POZYCJĘ zwraca 1 dla North, 2 dla East i 3 dla South, a SORTUJ.WEDŁUG sortuje według tych liczb. Wiersze z tym samym kluczem zachowują pierwotną kolejność, więc wiersze North zostają jako Ann, Cara, Finn. Ten sam sposób sortuje miesiące albo dni tygodnia po nazwie: wpisz je w PODAJ.POZYCJĘ w kolejności kalendarzowej. Region, którego nie ma na liście, dostaje od PODAJ.POZYCJĘ #N/D! (#N/A); aby takie wiersze trafiły na koniec, użyj jako klucza IFERROR(MATCH(B2:B7,{"North","East","South"},0),99) (postać angielska, ze stałą tablicową).

Ćwiczenie: imiona według sprzedaży

Twoja kolej
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

Twoja kolej: W E2 zwróć same imiona, uporządkowane według sprzedaży od najwyższej do najniższej.

Funkcja SORTUJ czy przycisk Sortuj

Oba sortują, ale robią co innego:

Dane > SortujSORTUJ i SORTUJ.WEDŁUG
Zmienia pierwotną tabelęTakNie, wynik trafia do nowych komórek
Aktualizuje się, gdy dane się zmieniająNie, trzeba sortować ponownieTak
Działa w Excelu 2019 i starszychTakNie
Wynik można edytować komórka po komórceTakNie, to jedna formuła
Można go objąć inną formułąNieTak, na przykład =WYCINEK(SORTUJ(A2:C7;3;-1);3)

Przyciskiem uporządkujesz tabelę raz. Funkcji użyj w raporcie albo pulpicie, który ma pozostać posortowany, gdy dane się zmieniają. Jeśli komórki pod formułą albo po jej prawej stronie nie są puste, funkcja zamiast posortowanej listy pokazuje #ROZLANIE! (#SPILL!); wyczyść je, a lista się pojawi (zobacz błąd #SPILL!).

Najczęściej zadawane pytania

Jak posortować dane formułą w Excelu?

Użyj SORTUJ: =SORTUJ(A2:C7;3;-1) zwraca A2:C7 posortowane według trzeciej kolumny, od największej wartości. Pomiń dwa ostatnie argumenty, =SORTUJ(A2:A8), aby sortować według pierwszej kolumny od najmniejszej do największej, a tekst od A do Z.

Czym różni się SORTUJ od SORTUJ.WEDŁUG?

SORTUJ sortuje według kolumny zwracanego zakresu, wybranej numerem. SORTUJ.WEDŁUG sortuje według dowolnego podanego zakresu, nawet takiego, którego nie zwraca: =SORTUJ.WEDŁUG(A2:A7;C2:C7;-1) zwraca same imiona uporządkowane według sprzedaży. SORTUJ.WEDŁUG przyjmuje też bezpośrednio kilka kluczy sortowania.

Jak posortować listę alfabetycznie w Excelu?

Zaznacz komórkę na liście i kliknij Dane > Sortuj od A do Z, aby zmienić kolejność na miejscu. Aby zachować oryginał i dostać posortowaną kopię, która się aktualizuje, wpisz =SORTUJ(A2:A8) w pustej komórce; dla kolejności od Z do A użyj =SORTUJ(A2:A8;;-1).

Jak posortować formułą według dwóch kolumn?

Podaj SORTUJ.WEDŁUG dwie pary klucza i kolejności: =SORTUJ.WEDŁUG(A2:C7;B2:B7;1;C2:C7;-1) sortuje według regionu od A do Z, a w każdym regionie według sprzedaży od najwyższej.

Które wersje Excela mają SORTUJ i SORTUJ.WEDŁUG?

Excel 2021, Excel 2024 i Microsoft 365. W Excelu 2019 i starszych pokazują #NAZWA?, a sortuje się tam przyciskiem Sortuj na karcie Dane.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ