Funkcija Excel SORT - samodejno razvrščanje podatkov s pomočjo formule

  • Deliti To
Michael Brown

V učbeniku je prikazano, kako uporabiti funkcijo SORT za dinamično razvrščanje podatkovnih polj. Spoznali boste formulo za razvrščanje po abecedi v Excelu, razvrščanje številk v naraščajočem ali padajočem vrstnem redu, razvrščanje po več stolpcih in še več.

Funkcija Razvrsti je na voljo že dolgo časa. Z uvedbo dinamičnih polj v Excelu 365 pa se je pojavil neverjetno preprost način razvrščanja s formulami. Lepota tega načina je, da se rezultati samodejno posodobijo, ko se spremenijo izvorni podatki.

    Funkcija Excel SORT

    Funkcija SORT v Excelu razvrsti vsebino polja ali območja po stolpcih ali vrsticah v naraščajočem ali padajočem vrstnem redu.

    Funkcija SORT spada v skupino funkcij dinamičnega polja. Rezultat je dinamično polje, ki se samodejno prelije v sosednje celice navpično ali vodoravno, odvisno od oblike izvornega polja.

    Sintaksa funkcije SORT je naslednja:

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

    Kje:

    Polje (obvezno) - je niz vrednosti ali območje celic za razvrščanje. To so lahko katere koli vrednosti, vključno z besedilom, številkami, datumi, časi itd.

    Sort_index (neobvezno) - celo število, ki označuje, po katerem stolpcu ali vrstici naj se razvrsti. Če je izpuščeno, se uporabi privzeti indeks 1.

    Sort_order (neobvezno) - določa vrstni red razvrščanja:

    • 1 ali izpuščeno (privzeto) - naraščajoči vrstni red, tj. od najmanjšega do največjega
    • -1 - padajoči vrstni red, tj. od največjega do najmanjšega

    By_col (neobvezno) - logična vrednost, ki označuje smer razvrščanja:

    • FALSE ali izpuščeno (privzeto) - razvrščanje po vrsticah. To možnost boste največkrat uporabili.
    • TRUE - razvrščanje po stolpcih. To možnost uporabite, če so vaši podatki urejeni vodoravno v stolpcih, kot v tem primeru.

    Funkcija Excel SORT - nasveti in opombe

    Funkcija SORT je nova dinamična funkcija polja in kot taka ima nekaj posebnosti, ki se jih morate zavedati:

    • Trenutno je funkcija SORT na voljo samo v programih Microsoft 365 in Excel 2021. Excel 2019 in Excel 2016 ne podpirata formul dinamičnega polja, zato funkcija SORT v teh različicah ni na voljo.
    • Če je polje, ki ga vrne formula SORT, končni rezultat (tj. ni posredovano drugi funkciji), Excel dinamično ustvari ustrezno veliko območje in ga napolni z razvrščenimi vrednostmi. Zato se prepričajte, da imate vedno dovolj praznih celic spodaj ali/in desno od celice, v katero vnesete formulo, sicer se pojavi napaka #SPILL.
    • Rezultati se dinamično posodabljajo, ko se spreminjajo izvorni podatki. polje ki je bila posredovana formuli, se ne razširi samodejno na nove vnose, ki so dodani zunaj sklicevanega polje Če želite vključiti te elemente, morate posodobiti polje ali pretvorite izvorno območje v tabelo, kot je prikazano v tem primeru, ali pa ustvarite dinamično poimenovano območje.

    Osnovna formula Excel SORT

    Ta primer prikazuje osnovno formulo za razvrščanje podatkov v Excelu v naraščajočem in padajočem vrstnem redu.

    Recimo, da so vaši podatki urejeni po abecedi, kot je prikazano na spodnji sliki. Številke v stolpcu B želite razvrstiti, ne da bi podatke razbili ali pomešali.

    Formula za razvrščanje v naraščajočem vrstnem redu

    Za razvrščanje vrednosti v stolpcu B od najmanjše do največje uporabite naslednjo formulo:

    =SORT(A2:B8, 2, 1)

    Kje:

    • A2:B8 je izvorno polje
    • 2 je številka stolpca, po katerem se razvršča
    • 1 je naraščajoči vrstni red

    Ker so naši podatki urejeni v vrsticah, lahko zadnji argument izpustite in privzamete vrednost FALSE - razvrščanje po vrsticah.

    V katero koli prazno celico (v našem primeru D2) vnesite formulo, pritisnite Enter in rezultati se bodo samodejno prelili v D2:E8.

    Formula za razvrščanje v padajočem vrstnem redu

    Če želite podatke razvrstiti padajoče, tj. od največjega do najmanjšega, nastavite sort_order na -1, kot sledi:

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

    Vnesite formulo v zgornjo levo celico ciljnega območja in dobili boste ta rezultat:

    Na podoben način lahko besedilne vrednosti razvrstite po abecednem redu od A do Z ali od Z do A.

    Kako razvrstiti podatke v Excelu z uporabo formule

    Spodnji primeri prikazujejo nekaj tipičnih uporab funkcije SORT v Excelu in nekaj netrivialnih.

    Excelovo razvrščanje po stolpcu

    Pri razvrščanju podatkov v Excelu večinoma spreminjate vrstni red vrstic. Če pa so podatki urejeni vodoravno z vrsticami z oznakami in stolpci z zapisi, boste morda morali razvrščati od leve proti desni in ne od zgoraj navzdol.

    Če želite v Excelu razvrščati po stolpcih, nastavite by_col na TRUE. V tem primeru, sort_index bo predstavljal vrstico in ne stolpca.

    Na primer, če želite spodnje podatke razvrstiti po količini od največje do najmanjše, uporabite to formulo:

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

    Kje:

    • B1:H2 so izvorni podatki za razvrščanje
    • 2 je indeks razvrščanja, saj razvrščamo številke v drugi vrstici.
    • -1 označuje padajoči vrstni red
    • TRUE pomeni razvrščanje stolpcev in ne vrstic

    Razvrščanje po več stolpcih v različnem vrstnem redu (večstopenjsko razvrščanje)

    Pri delu s kompleksnimi podatkovnimi modeli pogosto potrebujete večnivojsko razvrščanje. Ali lahko to storite s formulo? Ja, enostavno! sort_index in . sort_order argumenti.

    Na primer, če želite spodnje podatke najprej razvrstiti po Regija (stolpec A) od A do Z in nato z Količina . (stolpec C) od najmanjšega do največjega nastavite naslednje argumente:

    • Polje so podatki v A2:C13.
    • Sort_index je matrična konstanta {1,3}, saj najprej razvrstimo po Regija (1. stolpec) in nato z Količina . (3. stolpec).
    • Sort_order je konstanta polja {1,-1}, saj je treba 1. stolpec razvrstiti po naraščajočem vrstnem redu, 3. stolpec pa po padajočem vrstnem redu.
    • By_col je izpuščen, ker razvrščamo vrstice, kar je privzeto.

    Če argumente združimo, dobimo tole formulo:

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

    Besedilne vrednosti v prvem stolpcu so razvrščene po abecedi, številke v tretjem stolpcu pa od največje do najmanjše:

    Razvrščanje in filtriranje v Excelu

    Če želite podatke filtrirati z določenimi merili in urediti izhodne podatke, uporabite funkciji SORT in FILTER skupaj:

    SORT(FILTER(polje, kriterij_območje = merila ), [sort_index], [sort_order], [by_col])

    Funkcija FILTER dobi niz vrednosti na podlagi opredeljenih meril in ga posreduje prvemu argumentu funkcije SORT.

    Najboljša stvar pri tej formuli je, da rezultate izpiše tudi kot dinamično razlivno območje, ne da bi vam bilo treba pritisniti kombinacijo tipk Ctrl + Shift + Enter ali ugibati, v koliko celic jo je treba kopirati. Kot običajno vnesete formulo v najvišjo celico in pritisnete tipko Enter.

    Kot primer bomo iz izvornih podatkov v A2:B9 izločili elemente, katerih količina je enaka ali večja od 30 (>=30), in rezultate razvrstili v naraščajočem vrstnem redu.

    V ta namen najprej določimo pogoj, na primer v celici E2, kot je prikazano na spodnji sliki. Nato na ta način sestavimo formulo Excel SORT:

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

    Poleg polje ki jo ustvari funkcija FILTER, določimo samo sort_index Preostala dva argumenta sta izpuščena, ker privzeta nastavitev deluje točno tako, kot potrebujemo (razvrščanje naraščajoče, po vrsticah).

    Pridobite N največjih ali najmanjših vrednosti in razvrstite rezultate

    Pri analizi velikih količin informacij je pogosto treba izluščiti določeno število najboljših vrednosti. Morda ne samo izluščiti, ampak jih tudi urediti v želenem vrstnem redu. In v idealnem primeru izbrati stolpce, ki bodo vključeni v rezultate. Se vam zdi zapleteno? Ne z novimi dinamičnimi funkcijami polja!

    Tukaj je splošna formula:

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

    Kje: n je število vrednosti, ki jih želite vrniti.

    Predpostavimo, da želite iz spodnjega nabora podatkov pridobiti seznam treh najboljših na podlagi številk v stolpcu C.

    Če želite to narediti, najprej razvrstite polje A2:C13 po tretjem stolpcu v padajočem vrstnem redu:

    SORT(A2:C13, 3, -1)

    Nato vnesite zgornjo formulo v prvo ( polje ) argumenta funkcije INDEX, da se polje razvrsti od največjega do najmanjšega.

    Za drugo ( vrstica_številka ), ki označuje, koliko vrstic je treba vrniti, ustvarite potrebna zaporedna števila z uporabo funkcije SEQUENCE. Ker potrebujemo 3 zgornje vrednosti, uporabimo SEQUENCE(3), kar je enako, kot če bi neposredno v formulo vnesli konstanto navpičnega polja {1;2;3}.

    Za tretji ( col_num ), ki določa, koliko stolpcev naj se vrne, navedite številke stolpcev v obliki vodoravne konstante polja. Želimo vrniti stolpca B in C, zato uporabimo polje {2,3}.

    Na koncu dobimo naslednjo formulo:

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

    In daje točno takšne rezultate, kot si jih želimo:

    Vrnitev 3 dno vrednosti, preprosto razvrstite izvirne podatke od najmanjšega do največjega. V ta namen spremenite sort_order od -1 do 1:

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

    Vračanje razvrščene vrednosti v določenem položaju

    Če pogledate z drugega zornega kota, kaj če želite vrniti samo določen položaj razvrščanja? Recimo samo 1., samo 2. ali samo 3. zapis z razvrščenega seznama? Če želite to narediti, uporabite poenostavljeno različico formule INDEX SORT, ki je bila obravnavana zgoraj:

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

    Kje: n je položaj, ki nas zanima.

    Če želite na primer dobiti določen položaj od zgoraj (tj. od podatkov, razvrščenih padajoče), uporabite to formulo:

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

    Če želite dobiti določen položaj od spodaj (tj. od podatkov, razvrščenih naraščajoče), uporabite to:

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

    Pri čemer so A2:C13 izvorni podatki, F1 je položaj od zgoraj, I1 je položaj od spodaj, {2,3} pa so stolpci, ki jih je treba vrniti.

    Uporaba Excelove tabele za samodejno razširitev sortirnega polja

    Kot že veste, se razvrščeno polje samodejno posodobi, ko spremenite prvotne podatke. To je standardno obnašanje vseh funkcij dinamičnega polja, vključno s funkcijo SORT. Ko pa dodate nove vnose zunaj referenčnega polja, ti niso samodejno vključeni v formulo. Če želite, da se vaša formula odzove na takšne spremembe, pretvorite izvorno območje v popolnomafunkcionalno tabelo Excel in uporabite strukturirane reference v formuli.

    Če si želite ogledati, kako to deluje v praksi, si oglejte naslednji primer.

    Recimo, da s spodnjo Excelovo formulo SORT uredite vrednosti v območju A2:B8 po abecednem vrstnem redu:

    =SORT(A2:B8, 1, 1)

    Nato vnesete nov vnos v vrstico 9 in razočarano ugotovite, da je novo dodani vnos ostal zunaj območja razlitja:

    Zdaj pretvorite izvorno območje v tabelo. Za to preprosto izberite območje, vključno z naslovi stolpcev (A1:B8), in pritisnite kombinacijo tipk Ctrl + T . Pri oblikovanju formule z miško izberite izvorno območje in ime tabele bo samodejno vstavljeno v formulo (to se imenuje strukturirana referenca):

    =SORT(Tabela1, 1, 1)

    Ko vnesete nov vnos tik pod zadnjo vrstico, se tabela samodejno razširi in novi podatki se vključijo v razlivno območje formule SORT:

    Excelova funkcija SORT ne deluje

    Če se v formuli SORT pojavi napaka, je to najverjetneje posledica naslednjih razlogov.

    #NAME napaka: starejša različica programa Excel

    Funkcija SORT je nova funkcija in deluje samo v Excelu 365 in Excelu 2021. V starejših različicah, kjer ta funkcija ni podprta, se pojavi napaka #NAME?.

    #SPILL napaka: nekaj blokira območje razlitja

    Če ena ali več celic v razlivnem območju ni popolnoma prazna ali združena, se prikaže napaka #SPILL! Če jo želite odpraviti, odstranite blokado. Za več informacij glejte Excelova napaka #SPILL! - kaj pomeni in kako jo odpraviti.

    #VALUE napaka: neveljavni argumenti

    Ko naletite na napako #VALUE!, preverite sort_index in . sort_order argumenti. Sort_index ne sme presegati števila stolpcev je polje in sort_order mora biti 1 (naraščajoče) ali -1 (padajoče).

    #REF napaka: izvorni delovni zvezek je zaprt

    Ker imajo dinamični nizi omejeno podporo za reference med delovnimi zvezki, mora biti funkcija SORT odprta v obeh datotekah. Če je izvorni delovni zvezek zaprt, bo formula vrgla napako #REF!. Če jo želite odpraviti, odprite datoteko, na katero se sklicuje.

    To je način razvrščanja podatkov v Excelu z uporabo formule. Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu!

    Praktični delovni zvezek za prenos

    Razvrščanje v Excelu s formulami (.xlsx datoteka)

    Michael Brown je predan tehnološki navdušenec s strastjo do poenostavljanja kompleksnih procesov z uporabo programskih orodij. Z več kot desetletnimi izkušnjami v tehnološki industriji je svoje veščine izpopolnil v Microsoft Excelu in Outlooku ter Google Preglednicah in Dokumentih. Michaelov blog je namenjen deljenju svojega znanja in strokovnega znanja z drugimi ter ponuja preproste nasvete in vadnice za izboljšanje produktivnosti in učinkovitosti. Ne glede na to, ali ste izkušen strokovnjak ali začetnik, Michaelov blog ponuja dragocene vpoglede in praktične nasvete, kako kar najbolje izkoristiti ta osnovna programska orodja.