Excel funkcija SORT - automatsko sortiranje podataka pomoću formule

  • Podijeli Ovo
Michael Brown

Udžbenik pokazuje kako koristiti funkciju SORT za dinamičko sortiranje nizova podataka. Naučit ćete formulu za sortiranje po abecedi u Excelu, raspored brojeva uzlaznim ili silaznim redoslijedom, sortiranje po više stupaca i još mnogo toga.

Funkcija sortiranja postoji već dugo vremena. No s uvođenjem dinamičkih nizova u Excel 365 pojavio se nevjerojatno 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 SORT funkcija

    SORT funkcija u Excelu sortira sadržaj niza ili raspon po stupcima ili retcima, uzlaznim ili silaznim redoslijedom.

    SORT pripada skupini dinamičkih funkcija niza. Rezultat je dinamički niz koji se automatski prelijeva na susjedne ćelije okomito ili vodoravno, 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 (neobavezno) - cijeli broj koji označava po kojem stupcu ili retku sortirati. Ako je izostavljen, koristi se zadani indeks 1.

    Sort_order (neobavezno) - definira redoslijed sortiranja:

    • 1 ili izostavljeno (zadano) - uzlazni redoslijed , tj. odformule (.xlsx datoteka) od najmanjeg do najvećeg
    • -1 - silazni redoslijed, tj. od najvećeg do najmanjeg

    By_col (neobavezno) - logička vrijednost koja označava smjer sortiranja:

    • NETOČNO ili izostavljeno (zadano) - poredaj po redu. Ovu ćete opciju koristiti većinu vremena.
    • TRUE - poredaj po stupcu. Koristite ovu opciju ako su vaši podaci organizirani vodoravno u stupcima kao u ovom primjeru.

    Excel SORT funkcija - savjeti i bilješke

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

    • Trenutačno je funkcija SORT dostupna samo u sustavima Microsoft 365 i Excel 2021. Excel 2019, Excel 2016 ne podržavaju formule dinamičkog polja, pa funkcija SORT nije dostupan u ovim verzijama.
    • Ako je polje koje vraća formula SORT konačni rezultat (tj. nije proslijeđeno drugoj funkciji), Excel dinamički stvara raspon odgovarajuće veličine i popunjava ga razvrstanim vrijednostima. Dakle, budite sigurni da uvijek imate dovoljno praznih ćelija dolje i/ili desno od ćelije u koju unosite formulu, inače će se pojaviti pogreška #SPILL.
    • Rezultati se ažuriraju dinamički kako se izvorni podaci mijenjaju. Međutim, niz priložen formuli ne proširuje se automatski kako bi uključio nove unose koji su dodani izvan referentnog niza . Da biste uključili takve stavke, trebate ili ažurirati referencu array u vašoj formuli ilipretvorite izvorni raspon u tablicu kao što je prikazano u ovom primjeru ili stvorite dinamički imenovani raspon.

    Osnovna Excel SORT formula

    Ovaj primjer prikazuje osnovnu formulu za sortiranje podataka u Excelu uzlaznim i silaznim redoslijedom.

    Pretpostavimo da su vaši podaci poredani abecednim redom kao što je prikazano na slici ispod. Tražite sortiranje brojeva u stupcu B bez razbijanja ili miješanja podataka.

    Formula za sortiranje uzlaznim redoslijedom

    Za sortiranje vrijednosti u stupcu B od najmanjih prema najvećim, evo formule za korištenje:

    =SORT(A2:B8, 2, 1)

    Gdje:

    • A2:B8 je izvorni niz
    • 2 je broj stupca prema kojem se sortira
    • 1 je uzlazni redoslijed sortiranja

    Budući da su naši podaci organizirani u retke, posljednji argument se može izostaviti kako bi se postavio na FALSE - sortiraj po recima.

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

    Formula za sortiranje silaznim redoslijedom

    Za sortiranje podataka silazno, 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 poredati tekstualne vrijednosti abecednim redom od A do Z ili od Z do A.

    Kako sortirati podatke u Excelu pomoću f ormula

    Sljedeći primjeri pokazuju nekoliko tipičnih upotreba funkcije SORT u Excelui nekoliko netrivijalnih.

    Excel SORTIRANJE po stupcu

    Kada sortirate podatke u Excelu, većinom mijenjate redoslijed redaka. 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 slijeva nadesno, a ne odozgo prema dolje.

    Za sortiranje po stupcu u Excelu, postavite by_col argument na TRUE. U ovom slučaju, sort_index će predstavljati redak, a ne stupac.

    Na primjer, za sortiranje podataka u nastavku prema količini. od najvišeg do najnižeg, upotrijebite ovu formulu:

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

    Gdje je:

    • B1:H2 izvor podataka za sortiranje
    • 2 je indeks sortiranja, budući da sortiramo brojeve u drugom retku
    • -1 označava silazni redoslijed sortiranja
    • TRUE znači sortirati stupce, a ne retke

    Sortiraj po više stupaca različitim redoslijedom (sortiranje na više razina)

    Kada radite sa složenim modelima podataka, često vam je potrebno sortiranje na više razina. Može li se to učiniti formulom? Da, lako! Ono što trebate učiniti je da dostavite konstante niza za sort_index i sort_order argumente.

    Na primjer, da prvo sortirate donje podatke prema Region (stupac A) od A do Z, a zatim prema Količina . (stupac C) od najmanjeg do najvećeg, postavite sljedeće argumente:

    • Niz su podaci u A2:C13.
    • Sort_index je konstanta polja {1,3}, budući da prvo sortiramo prema Regiji (1.stupac), a zatim prema Količina . (3. stupac).
    • Sort_order je konstanta niza {1,-1}, budući da 1. stupac treba sortirati uzlaznim redoslijedom, a 3. stupac silaznim redoslijedom.
    • By_col je izostavljen jer sortiramo retke, što je zadano.

    Spajanjem argumenata, dobivamo ovu formulu:

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

    I radi savršeno! Tekstualne vrijednosti u prvom stupcu poredane su abecednim redom, a brojevi u trećem stupcu od najvećeg prema najmanjem:

    Sortiraj i filtriraj u Excelu

    U slučaju kada želite filtrirati podatke s nekim kriterijima i staviti izlaz u red, koristite funkcije SORT i FILTER zajedno:

    SORT(FILTER(array, criteria_range= criteria) , [sort_index], [sort_order], [by_col])

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

    Najbolja stvar o ovoj formuli je da ona također daje rezultate kao dinamički raspon izlijevanja, bez potrebe da pritisnete Ctrl + Shift + Enter ili pogađate u koliko ćelija želite kopirati. Kao i obično, upišete formulu u najgornju ćeliju i pritisnete tipku Enter.

    Kao primjer, izdvojit ćemo stavke s količinom jednakom ili većom od 30 (>=30) iz izvorne podatke u A2:B9 i rasporedite rezultate uzlaznim redoslijedom.

    Za ovo, prvo postavljamo uvjet, recimo, ućeliju E2 kao što je prikazano na slici ispod. Zatim izgradite našu Excel SORT formulu na ovaj način:

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

    Osim array generiranog funkcijom FILTER, navodimo samo sort_index argument (stupac 2). Preostala dva argumenta su izostavljena jer zadane vrijednosti rade točno onako kako nam je potrebno (sortirajte uzlazno, po redu).

    Dohvatite N najvećih ili najmanjih vrijednosti i sortirajte rezultate

    Pri analizi velikih količina informacija često postoji potreba za izdvajanjem određenog broja najvećih vrijednosti. Možda ne samo izdvojiti, već ih i rasporediti u željenom redoslijedu. I idealno, odaberite koje stupce uključiti u rezultate. Zvuči lukavo? Ne s novim funkcijama dinamičkog niza!

    Ovdje je generička formula:

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

    Gdje je n broj vrijednosti koje želite vratiti.

    Iz donjeg skupa podataka pretpostavite da želite dobiti top 3 popis na temelju brojeva u stupcu C.

    Da biste to učinili, prvo sortirajte niz A2:C13 prema 3. stupcu silaznim redoslijedom:

    SORT(A2:C13, 3, -1)

    A zatim ugniježdite gornju formulu u prvi ( niz ) argument funkcije INDEX kako bi niz bio poredan od najvećeg prema najmanjem.

    Za drugi ( broj_reda ), koji označava koliko redaka treba vratiti, generirajte potrebne redne brojeve pomoću funkcije SEQUENCE. Kaotrebamo 3 gornje vrijednosti, koristimo SEQUENCE(3), što je isto kao da unesete konstantu okomitog niza {1;2;3} izravno u formulu.

    Za treću ( col_num ) argument, koji definira koliko stupaca treba vratiti, dostaviti brojeve stupaca u obliku horizontalne konstante niza. Želimo vratiti stupce B i C, pa koristimo niz {2,3}.

    Na kraju, dobivamo sljedeću formulu:

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

    I ona proizvodi točno rezultate koje želimo:

    Da biste vratili 3 donje vrijednosti, jednostavno sortirajte izvorne podatke od najmanjih prema najvećim. U tu svrhu 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 kuta, što ako želite vratiti samo određenu poziciju sortiranja? Recimo, samo 1., samo 2. ili samo 3. zapis sa sortirane liste? Da biste to učinili, upotrijebite pojednostavljenu verziju formule INDEX SORT o kojoj smo govorili gore:

    INDEX(SORT(…), n, { column1_to_return, column2_to_return, …})

    Gdje je n pozicija od interesa.

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

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

    Da biste dobili određenu poziciju od dna (tj. iz podataka poredanih uzlazno), koristite ovo:

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

    Gdje je A2: C13 su izvorni podaci, F1 je položaj od vrha, I1 je položaj oddno, a {2,3} su stupci koji se vraćaju.

    Koristite Excel tablicu da biste dobili sortirani niz za automatsko proširenje

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

    Da biste vidjeli kako to funkcionira u praksi, razmotrite sljedeće primjer.

    Pretpostavimo da koristite donju Excel SORT formulu za raspoređivanje vrijednosti u rasponu A2:B8 abecednim redom:

    =SORT(A2:B8, 1, 1)

    Zatim unesete novi unos u redak 9… i razočarani su kad vide da je novododani unos izostavljen iz raspona izlijevanja:

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

    =SORT(Table1, 1, 1)

    Kada upišete novi unos točno ispod zadnjeg retka, tablica će se automatski proširiti, a novi podaci bit će uključeni u raspon izlijevanjaformule SORT:

    Excel SORT funkcija ne radi

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

    Pogreška #NAME: starija verzija Excela

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

    #SPILL pogreška: nešto blokira raspon izlijevanja

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

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

    Kad god naiđete na #VALUE! pogrešku, provjerite sort_index i sort_order argumente. Sort_index ne smije premašiti broj stupaca array i sort_order treba biti 1 (uzlazno) ili -1 (silazno).

    Pogreška #REF: izvorna radna knjiga je zatvorena

    Budući da dinamički nizovi imaju ograničenu podršku za reference između radnih knjiga, funkcija SORT zahtijeva da obje datoteke budu otvorene. Ako je izvorna radna knjiga zatvorena, formula će izbaciti #REF! greška. Da biste to popravili, samo otvorite referentnu datoteku.

    Tako se sortiraju podaci u Excelu pomoću formule. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan!

    Radna bilježnica za vježbe za preuzimanje

    Sortiranje u Excelu s

    Michael Brown predani je tehnološki entuzijast sa strašću za pojednostavljivanjem složenih procesa pomoću softverskih alata. S više od desetljeća iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google tablicama i dokumentima. Michaelov blog posvećen je dijeljenju znanja i stručnosti s drugima, pružajući savjete i upute koje je lako slijediti za poboljšanje produktivnosti i učinkovitosti. Bez obzira jeste li iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.