Excel funkcija SORT - automatsko sortiranje podataka pomoću formule

  • Podijeli Ovo
Michael Brown

Vodič pokazuje kako koristiti funkciju SORT za dinamičko sortiranje nizova podataka. Naučit ćete formulu za sortiranje po abecednom redu u Excelu, sređivanje brojeva u rastućem ili opadajućem redoslijedu, sortiranje po više kolona i još mnogo toga.

Funkcija sortiranja postoji već duže vrijeme. Ali sa uvođenjem dinamičkih nizova u Excel 365, pojavio se neverovatno jednostavan način sortiranja pomoću formula. Ljepota ove metode je u tome što se rezultati automatski ažuriraju kada se izvorni podaci promijene.

    Excel funkcija SORT

    Funkcija SORT u Excelu sortira sadržaj niza ili raspon po kolonama ili redovima, u rastućem ili opadajućem redoslijedu.

    SORT pripada grupi funkcija dinamičkog niza. Rezultat je dinamički niz koji se automatski prenosi na susjedne ćelije vertikalno ili horizontalno, ovisno o obliku izvornog niza.

    Sintaksa funkcije SORT je sljedeća:

    SORT(niz, [sort_index ], [sort_order], [by_col])

    Gdje:

    Niz (obavezno) - je niz vrijednosti ili raspon ćelija za sortiranje. To mogu biti bilo koje vrijednosti uključujući tekst, brojeve, datume, vremena, itd.

    Sort_index (opcionalno) - cijeli broj koji označava po kojoj koloni ili redu treba sortirati. Ako je izostavljen, koristi se zadani indeks 1.

    Sort_order (opciono) - definira redoslijed sortiranja:

    • 1 ili izostavljen (podrazumevano) - rastući redoslijed , odnosno odformule (.xlsx datoteka) najmanji prema najvećem
    • -1 - silazni redoslijed, tj. od najvećeg prema najmanjem

    By_col (opciono) - logička vrijednost koja ukazuje na smjer sortiranja:

    • FALSE ili izostavljeno (podrazumevano) - sortiraj po redu. Ovu opciju ćete koristiti većinu vremena.
    • TRUE - sortiraj po koloni. Koristite ovu opciju ako su vaši podaci organizirani vodoravno u stupce kao u ovom primjeru.

    Excel SORT funkcija - savjeti i napomene

    SORT je nova funkcija dinamičkog niza i kao takva ima nekoliko specifičnosti kojih biste trebali biti svjesni:

    • Trenutno je funkcija SORT dostupna samo u Microsoft 365 i Excel 2021. Excel 2019, Excel 2016 ne podržavaju formule dinamičkog niza, tako da funkcija SORT nije dostupan u ovim verzijama.
    • Ako je niz koji vraća SORT formula konačni rezultat (tj. nije proslijeđen drugoj funkciji), Excel dinamički kreira raspon odgovarajuće veličine i popunjava ga sortiranim vrijednostima. Dakle, budite sigurni da uvijek imate dovoljno praznih ćelija dolje ili/i desno od ćelije u koju unosite formulu, inače će doći do greške #SPILL.
    • Rezultati se ažuriraju dinamički kako se izvorni podaci mijenjaju. Međutim, niz dostavljen formuli ne proširuje se automatski kako bi uključio nove unose koji se dodaju izvan referentnog niza . Da biste uključili takve stavke, trebate ažurirati referencu niz u formuli ilipretvorite izvorni raspon u tabelu kao što je prikazano u ovom primjeru ili kreirajte dinamički imenovani raspon.

    Osnovna Excel formula SORT

    Ovaj primjer prikazuje osnovnu formulu za sortiranje podataka u Excelu u rastućem i opadajućem redoslijedu.

    Pretpostavimo da su vaši podaci raspoređeni po abecednom redu kao što je prikazano na slici ispod. Tražite sortiranje brojeva u koloni B bez razdvajanja ili miješanja podataka.

    Formula za sortiranje uzlaznim redoslijedom

    Da biste sortirali vrijednosti u koloni B od najmanjeg do najvećeg, evo formule koju treba koristiti:

    =SORT(A2:B8, 2, 1)

    Gdje:

    • A2:B8 je izvorni niz
    • 2 je broj stupca za sortiranje po
    • 1 je rastući redoslijed sortiranja

    Pošto su naši podaci organizirani u redove, posljednji argument se može izostaviti kao zadani FALSE - sortirati po redovima.

    Samo unesite formulu u bilo koju praznu ćeliju (u našem slučaju D2), pritisnite Enter i rezultati će se automatski preliti na D2:E8.

    Formula za sortiranje u opadajućem redoslijedu

    Da biste sortirali podatke opadajuće, tj. od najvećeg prema najmanjem, postavite argument sort_order na -1 ovako:

    =SORT(A2:B8, 2, -1)

    Unesite formulu u gornju lijevu ćeliju raspon odredišta i dobit ćete ovaj rezultat:

    Na sličan način možete sortirati tekstualne vrijednosti po abecednom redu od A do Z ili od Z do A.

    Kako sortirati podatke u Excelu pomoću f ormula

    Primjeri u nastavku pokazuju nekoliko tipičnih upotreba funkcije SORT u Excelui nekoliko netrivijalnih.

    Excel SORTIRAJ po koloni

    Kada sortirate podatke u Excelu, uglavnom mijenjate redoslijed redova. Ali kada su vaši podaci organizirani vodoravno s redovima koji sadrže oznake i stupcima koji sadrže zapise, možda ćete morati sortirati s lijeva na desno, a ne odozgo prema dolje.

    Da biste sortirali po koloni u Excelu, postavite by_col argument za TRUE. U ovom slučaju, sort_index će predstavljati red, a ne kolonu.

    Na primjer, da sortirate podatke ispod po količini. od najvišeg ka najnižem, koristite ovu formulu:

    =SORT(B1:H2, 2, 1, TRUE)

    Gdje je:

    • B1:H2 izvorni podaci za sortiranje
    • 2 je indeks sortiranja, pošto sortiramo brojeve u drugom redu
    • -1 označava silazni redoslijed sortiranja
    • TRUE znači sortirati stupce, a ne redove

    Sortiraj po više kolona različitim redoslijedom (sortiranje na više nivoa)

    Kada radite sa složenim modelima podataka, često će vam trebati sortiranje na više nivoa. Može li se to uraditi pomoću formule? Da, lako! Ono što radite je da dostavite konstante niza za argumente sort_index i sort_order .

    Na primjer, da prvo sortirate podatke ispod po Region (kolona A) od A do Z, a zatim za Kt . (kolona C) od najmanjeg do najvećeg, postavite sljedeće argumente:

    • Niz je podatak u A2:C13.
    • Indeks_razvrstavanja je konstanta niza {1,3}, pošto prvo sortiramo po Regiji (1.kolona), a zatim po Količini . (3. kolona).
    • Sort_order je konstanta niza {1,-1}, budući da se 1. kolona treba sortirati rastućim redoslijedom, a 3. kolona opadajućem.
    • By_col je izostavljen jer sortiramo redove, što je zadano.

    Stavljajući argumente zajedno, dobijamo ovu formulu:

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

    I radi savršeno! Tekstualne vrijednosti u prvoj koloni su poredane po abecedi, a brojevi u trećoj koloni od najveće do najmanje:

    Sortiraj i filtriraj u Excelu

    U slučaju kada želite da filtrirate podatke sa nekim kriterijumima i postavite izlaz u red, koristite funkcije SORT i FILTER zajedno:

    SORT(FILTER(niz, raspon_kriterija= kriterijum) , [sort_index], [sort_order], [by_col])

    Funkcija FILTER dobiva niz vrijednosti na osnovu kriterija koje definirate i prosljeđuje taj niz prvom argumentu SORT-a.

    Najbolja stvar O ovoj formuli je da ona takođe daje rezultate kao dinamički raspon prelivanja, bez potrebe da pritisnete Ctrl + Shift + Enter ili pogodite u koliko ćelija da ga kopirate. Kao i obično, upišete formulu u najgornju ćeliju i pritisnete tipku Enter.

    Na primjer, izvući ćemo stavke čija je količina jednaka ili veća od 30 (>=30) iz izvorne podatke u A2:B9 i rasporedite rezultate u rastućem redoslijedu.

    Za ovo prvo postavljamo uvjet, recimo, ućelija E2 kao što je prikazano na slici ispod. I onda, napravite našu Excel SORT formulu na ovaj način:

    =SORT(FILTER(A2:B9, B2:B9>=E2), 2)

    Osim niza generiranog funkcijom FILTER, specificiramo samo sort_index argument (kolona 2). Preostala dva argumenta su izostavljena jer zadane postavke rade točno onako kako nam je potrebno (razvrstavanje uzlazno, po redu).

    Dobijte N najvećih ili najmanjih vrijednosti i sortirajte rezultate

    Kada se analiziraju ogromne količine informacija, često postoji potreba za izdvajanjem određenog broja najvećih vrijednosti. Možda ih ne samo izdvojiti, već i rasporediti po željenom redoslijedu. I idealno, odaberite koje ćete stupce uključiti u rezultate. Zvuči nezgodno? Ne sa novim funkcijama dinamičkog niza!

    Ovo je generička formula:

    INDEX(SORT(…), SEQUENCE( n), { kolona1_do_povrata, column2_to_return, …})

    Gdje je n broj vrijednosti koje želite vratiti.

    Iz donjeg skupa podataka pretpostavite da želite dobiti top 3 lista zasnovana na brojevima u koloni C.

    Da biste to učinili, prvo sortirajte niz A2:C13 prema 3. koloni u opadajućem redoslijedu:

    SORT(A2:C13, 3, -1)

    A zatim, ugnijezdite gornju formulu u prvi ( array ) argument funkcije INDEX da biste imali niz sortiran od najvišeg do najmanjeg.

    Za drugi ( red_num) ) argument, koji pokazuje koliko redova treba vratiti, generira potrebne sekvencijalne brojeve korištenjem funkcije SEQUENCE. Aspotrebne su nam 3 gornje vrijednosti, koristimo SEQUENCE(3), što je isto kao da unesemo konstantu vertikalnog niza {1;2;3} direktno u formulu.

    Za treću ( broj_kolca ) argument, koji definira koliko stupaca treba vratiti, daje brojeve kolona u obliku horizontalne konstante niza. Želimo da vratimo kolone B i C, pa koristimo niz {2,3}.

    Na kraju, dobijamo sljedeću formulu:

    =INDEX(SORT(A2:C13, 3, -1), SEQUENCE(3), {2,3})

    I ona proizvodi upravo one rezultate koje želimo:

    Da biste vratili 3 donje vrijednosti, jednostavno sortirajte originalne podatke od najmanjeg do najvećeg. Za ovo promijenite argument sort_order iz -1 u 1:

    =INDEX(SORT(A2:C13, 3, 1), SEQUENCE(3), {2,3})

    Vrati sortiranu vrijednost na određenoj poziciji

    Gledajući iz drugog ugla, šta ako želite da vratite samo određenu poziciju sortiranja? Recimo, samo 1., samo 2. ili samo 3. zapis sa sortirane liste? Da biste to učinili, koristite pojednostavljenu verziju formule INDEX SORT o kojoj smo gore govorili:

    INDEX(SORT(…), n, { stupac1_do_povrata, stupac2_do_povrata, …})

    Gdje je n pozicija od interesa.

    Na primjer, da dobijete određenu poziciju od vrha (tj. iz podataka sortiranih silazno), koristite ovu formulu :

    =INDEX(SORT(A2:C13, 3, -1), F1, {2,3})

    Da dobijete određenu poziciju odozdo (tj. iz podataka sortiranih uzlazno), koristite ovaj:

    =INDEX(SORT(A2:C13, 3, 1), I1, {2,3})

    Gdje A2: C13 je izvorni podatak, F1 je pozicija od vrha, I1 je pozicija oddno i {2,3} su kolone koje treba vratiti.

    Koristite Excel tabelu da dobijete sortiranje niza da se automatski proširi

    Kao što već znate , sortirani niz se automatski ažurira kada unesete bilo kakve promjene u originalne podatke. Ovo je standardno ponašanje svih funkcija dinamičkog niza, uključujući SORT. Međutim, kada dodate nove unose izvan referentnog niza, oni se ne uključuju automatski u formulu. Ako želite da vaša formula odgovori na takve promjene, pretvorite izvorni raspon u potpuno funkcionalnu Excel tablicu i koristite strukturirane reference u svojoj formuli.

    Da vidite kako funkcionira u praksi, razmotrite sljedeće primjer.

    Pretpostavimo da koristite donju Excel SORT formulu da uredite vrijednosti u rasponu A2:B8 abecednim redom:

    =SORT(A2:B8, 1, 1)

    Zatim unesete novi unos u red 9... i razočarani su kada vide da je novododani unos izostavljen izvan raspona prolijevanja:

    Sada, pretvorite izvorni raspon u tabelu. Za to jednostavno odaberite svoj raspon uključujući zaglavlja kolona (A1:B8) i pritisnite Ctrl + T. Kada pravite formulu, odaberite izvorni raspon pomoću miša i naziv tablice će se automatski umetnuti u formulu (ovo se zove strukturirana referenca):

    =SORT(Table1, 1, 1)

    Kada upišete novi unos odmah ispod zadnjeg reda, tabela će se automatski proširiti, a novi podaci će biti uključeni u raspon prosipanjaformule SORT:

    Excel funkcija SORT ne radi

    Ako vaša SORT formula rezultira greškom, to je najvjerovatnije zbog sljedećih razloga.

    Greška #NAME: starija verzija Excela

    SORT je nova funkcija i radi samo u Excel 365 i Excel 2021. U starijim verzijama gdje ova funkcija nije podržana, #NAME? javlja se greška.

    #GREŠKA IZLIVANJA: nešto blokira raspon izlijevanja

    Ako jedna ili više ćelija u rasponu izlijevanja nisu potpuno prazne ili spojene, #PROLIVANJE! prikazuje se greška. Da biste to popravili, samo uklonite blokadu. Za više informacija pogledajte Excel #SPILL! greška - šta to znači i kako popraviti.

    #VALUE greška: nevažeći argumenti

    Kad god naiđete na #VALUE! greška, provjerite argumente sort_index i sort_order . Sort_index ne smije premašiti broj stupaca je array i sort_order treba biti ili 1 (uzlazno) ili -1 (opadajuće).

    #REF greška: izvorna radna knjiga je zatvorena

    Pošto dinamički nizovi imaju ograničenu podršku za reference između radnih knjiga, funkcija SORT zahtijeva da oba fajla budu otvorena. Ako je izvorna radna sveska zatvorena, formula će izbaciti #REF! greška. Da biste to popravili, samo otvorite referenciranu datoteku.

    Tako možete sortirati podatke u Excelu pomoću formule. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice!

    Vježbajte radnu svesku za preuzimanje

    Sortiraj u Excelu sa

    Michael Brown je posvećen tehnološki entuzijasta sa strašću za pojednostavljenje složenih procesa pomoću softverskih alata. Sa više od decenije iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google Sheets i Docs. Michaelov blog je posvećen dijeljenju svog znanja i stručnosti s drugima, pružajući jednostavne savjete i tutorijale za poboljšanje produktivnosti i efikasnosti. Bilo da ste iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.