Kazalo
Danes si bomo podrobno ogledali sintakso in tipične načine uporabe nove funkcije dinamičnega polja SORTBY. Naučili se boste, kako po meri razvrščati v Excelu s formulo, naključno razvrščati seznam, urediti celice po dolžini besedila in še več.
Microsoft Excel ponuja številne načine za razvrščanje besedilnih podatkov po abecedi, datumov kronološko in številk od najmanjšega do največjega ali od največjega do najmanjšega. Na voljo je tudi način za razvrščanje po lastnih seznamih. Poleg običajne funkcije razvrščanja Excel 365 uvaja povsem nov način razvrščanja podatkov s formulami - zelo priročno in neverjetno preprosto za uporabo!
Funkcija Excel SORTBY
Funkcija SORTBY v Excelu je namenjena razvrščanju enega območja ali polja na podlagi vrednosti v drugem območju ali polju. Razvrščanje lahko opravite po enem ali več stolpcih.
SORTBY je ena od šestih novih funkcij dinamičnega polja, ki so na voljo v Excelu za Microsoft 365 in Excel 2021. Njen rezultat je dinamično polje, ki se razširi v sosednje celice in se samodejno posodobi ob spremembi izvornih podatkov.
Funkcija SORTBY ima spremenljivo število argumentov - prva dva sta obvezna, druga dva pa neobvezna:
SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2],...)Polje (obvezno) - območje celic ali polje vrednosti, ki jih je treba razvrstiti.
By_array1 (obvezno) - območje ali polje, po katerem se razvršča.
Sort_order1 (neobvezno) - vrstni red razvrščanja:
- 1 ali izpuščeno (privzeto) - naraščajoče
- -1 - padajoče
By_array2 / Sort_order2 , ... (neobvezno) - dodatni pari polj / naročil, ki se uporabijo za razvrščanje.
Pomembna opomba! Trenutno je funkcija SORTBY na voljo samo z naročninami na Microsoft 365 in Excel 2021. V Excelu 2019, Excelu 2016 in prejšnjih različicah funkcija SORTBY ni na voljo.
Funkcija SORTBY - 4 stvari, ki si jih morate zapomniti
Za pravilno delovanje Excelove formule SORTBY je treba upoštevati nekaj pomembnih točk:
- By_array argumenti morajo biti visoki eno vrstico ali široki en stolpec.
- Spletna stran polje in vse by_array argumenta morata imeti združljive dimenzije. Na primer pri razvrščanju po dveh stolpcih, polje , by_array1 in . by_array2 mora imeti enako število vrstic, sicer se pojavi napaka #VALUE.
- Če je polje, ki ga vrne funkcija SORTBY, končni rezultat (izpisan v celici in ne posredovan drugi funkciji), Excel ustvari dinamično območje prelivanja in ga napolni z rezultati. Zato se prepričajte, da imate dovolj praznih celic spodaj in/ali desno od celice, v katero vnesete formulo, sicer se bo pojavila napaka #SPILL.
- Rezultati formul SORTBY se samodejno posodobijo, kadar koli se spremenijo izvorni podatki. Vendar novi vnosi, ki so dodani zunaj polja, na katerega se sklicuje formula, niso vključeni v rezultate, razen če posodobite polje za samodejno razširitev referenčnega polja pretvorite izvorno območje v Excelovo tabelo ali ustvarite dinamično poimenovano območje.
Osnovna formula SORTBY v Excelu
Tukaj je tipičen scenarij uporabe formule SORTBY v Excelu:
Recimo, da imate seznam projektov z Vrednost Projekte želite razvrstiti po njihovi vrednosti na ločenem listu. Ker drugim uporabnikom ni treba videti številk, raje ne vključite polja Vrednost stolpec v rezultatih.
To nalogo lahko enostavno opravite s funkcijo SORTBY, za katero navedete naslednje argumente:
- Polje je A2:A10 - ker ne želite, da se Vrednost stolpec, ki se prikaže v rezultatih, ga izpustite iz polja.
- By_array1 je B2:B10 - razvrsti po Vrednost .
- Sort_order1 je -1 - padajoče, tj. od najvišjega do najnižjega.
Če argumente združimo, dobimo tole formulo:
=SORTBY(A2:B10, B2:B10, -1)
Zaradi preprostosti formulo uporabimo na istem listu - vnesemo jo v D2 in pritisnemo tipko Enter. Rezultati se samodejno "prelijejo" v poljubno število celic (v našem primeru D2:D10). Tehnično gledano pa je formula samo v prvi celici in njeno brisanje iz D2 bo izbrisalo vse rezultate.
Če formulo uporabite na drugem listu, dobi naslednjo obliko:
=SORTBY(List1!A2:A10, List1!B2:B10, -1)
Kje: List1 je delovni list z izvirnimi podatki.
Uporaba funkcije SORTBY v Excelu - primeri formul
V nadaljevanju boste našli še nekaj primerov uporabe SORTBY, za katere upamo, da se bodo izkazali za koristne in poučne.
Razvrsti po več stolpcih
Zgoraj opisana osnovna formula razvršča podatke po enem stolpcu. Kaj pa, če morate dodati še eno stopnjo razvrščanja?
Predpostavimo, da ima naša vzorčna tabela dve polji, Status (stolpec B) in Vrednost (stolpec C) , želimo najprej razvrstiti po Status po abecedi in nato po Vrednost padajoče.
Če želimo razvrščati po dveh stolpcih, dodamo še en par by_array / sort_order argumenti:
- Polje je A2:C10 - tokrat želimo v rezultate vključiti vse tri stolpce.
- By_array1 je B2:B10 - najprej razvrstite po Status .
- Sort_order1 je 1 - razvrstite po abecedi od A do Ž.
- By_array2 je C2:C10 - nato razvrstite po Vrednost .
- Sort_order2 je -1 - razvrstite od največjega do najmanjšega.
Tako dobimo naslednjo formulo:
=SORTBY(A2:B10, B2:B10, 1, C2:C10, -1)
Ta preuredi naše podatke točno po naših navodilih:
Sortiranje po meri v Excelu s formulo
Če želite podatke razvrstiti v vrstnem redu po meri, lahko uporabite Excelovo funkcijo razvrščanja po meri ali pa na ta način sestavite formulo SORTBY MATCH:
SORTBY(array, MATCH( range_to_sort , custom_list , 0))Če si podrobneje ogledate naš nabor podatkov, vam bo verjetno bolj ustrezalo, da projekte razvrstite po statusu "logično", npr. po pomembnosti, in ne po abecedi.
Če želite to narediti, najprej ustvarite seznam po meri v želenem vrstnem redu ( V teku , Zaključeno , Na čakanju ) vnesite vsako vrednost v ločeno celico v območju E2:E4.
Nato z zgornjo splošno formulo zagotovimo izvorno območje za polje (A2:C10), je Status stolpec za range_to_sort (B2:B10) in seznam po meri, ki smo ga ustvarili za custom_list (E2:E4).
=SORTBY(A2:C10, MATCH(B2:B10, E2:E4, 0))
Tako so projekti razvrščeni po statusu, kot je potrebno:
Če želite seznam po meri razvrstiti v obratnem vrstnem redu, vnesite -1 za sort_order1 argument:
=SORTBY(A2:C10, MATCH(B2:B10, E2:E4, 0), -1)
Projekti bodo razvrščeni v nasprotni smeri:
Želite dodatno razvrstiti zapise znotraj vsakega stanja? Ni problema. Preprosto dodajte še eno stopnjo razvrščanja v formulo, na primer po Vrednost (C2:C10) in določite želeni vrstni red razvrščanja, v našem primeru naraščajoče:
=SORTBY(A2:C10, MATCH(B2:B10, E2:E5, 0), 1, C2:C10, 1)
Velika prednost formule SORTBY pred Excelovo funkcijo razvrščanja po meri je v tem, da se formula samodejno posodobi ob vsaki spremembi izvirnih podatkov, medtem ko je treba funkcijo ob vsaki spremembi očistiti in ponovno razvrstiti.
Kako deluje ta formula:
Kot smo že omenili, lahko Excelova funkcija SORTBY obdeluje le polja "razvrsti po", katerih dimenzije so združljive z izvornim poljem. Ker naše izvorno polje (C2:C10) vsebuje 9 vrstic, seznam po meri (E2:E4) pa le 3 vrstice, ga ne moremo neposredno posredovati funkciji by_array Namesto tega s funkcijo MATCH ustvarimo polje z 9 vrsticami:
MATCH(B2:B10, E2:E5, 0)
Pri tem uporabljamo Status (B2:B10) kot vrednosti za iskanje in naš seznam po meri (E2:E5) kot polje za iskanje. Zadnji argument je nastavljen na 0, da se iščejo natančna ujemanja. Kot rezultat dobimo polje 9 številk, od katerih vsaka predstavlja relativni položaj določenega Status vrednost na seznamu po meri:
{1;3;2;1;3;2;2;1;2}
To polje je neposredno povezano z by_array argumenta funkcije SORTBY in jo prisili, da podatke postavi v vrstnem redu, ki ustreza elementom polja, tj. najprej vnose, ki jih predstavljajo enice, nato vnose, ki jih predstavljajo dvojice, in tako naprej.
Naključno razvrščanje v Excelu s formulo
V prejšnjih različicah programa Excel lahko naključno razvrščanje izvedete s funkcijo RAND, kot je razloženo v tem priročniku: Kako naključno razvrstiti seznam v programu Excel.
V novem Excelu lahko uporabite zmogljivejšo funkcijo RANDARRAY skupaj s funkcijo SORTBY:
SORTBY( polje , RANDARRAY(VRSTICE( polje )))Kje: polje so izvorni podatki, ki jih želite premešati.
Ta splošna formula deluje tako za seznam, sestavljen iz enega stolpca, kot tudi za obseg z več stolpci.
Če želite na primer naključno razvrstiti seznam v A2:A10, uporabite to formulo:
=SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10)))
Če želite premešati podatke v A2:C10 in ohraniti vrstice skupaj, uporabite to:
=SORTBY(A2:C10, RANDARRAY(ROWS(A2:C10)))
Kako deluje ta formula:
Funkcija RANDARRAY ustvari polje naključnih števil, ki se uporabi za razvrščanje, in ga posreduje v ukazu by_array Če želite določiti, koliko naključnih številk naj se generira, s funkcijo ROWS preštejte število vrstic v izvornem območju in to število "podajte" v funkcijo SORTBY. vrstice argument RANDARRAYA. To je to!
Opomba: Tako kot njena predhodnica je tudi funkcija RANDARRAY nestalna in ob vsakem ponovnem izračunu delovnega lista ustvari novo polje naključnih števil. Zato se vaši podatki ob vsaki spremembi na listu preusmerijo. Če želite preprečiti samodejno preusmeritev, lahko uporabite ukaz Posebna prilepitev > Vrednosti za zamenjavo formul z njihovimi vrednostmi.
Razvrstite celice po dolžini niza
Če želite razvrstiti celice glede na dolžino besedilnih nizov, ki jih vsebujejo, s funkcijo LEN preštejte število znakov v vsaki celici in izračunane dolžine podajte funkciji by_array argument SORTBY. sort_order lahko nastavite na 1 ali -1, odvisno od želenega vrstnega reda razvrščanja.
Razvrščanje po besedilnem nizu od najmanjšega do največjega:
SORTBY(polje, LEN(polje), 1)Razvrščanje po besedilnem nizu od največjega do najmanjšega:
SORTBY(polje, LEN(polje), -1)Tukaj je formula, ki ta pristop prikazuje na resničnih podatkih:
=SORTBY(A2:A7, LEN(A2:A7), 1)
kjer so A2:A7 izvirne celice, ki jih želite razvrstiti po dolžini besedila v naraščajočem vrstnem redu:
SORTBY proti SORT
V skupini novih dinamičnih funkcij Excelovih matrik sta dve namenjeni razvrščanju. V nadaljevanju navajamo najbolj bistvene razlike in podobnosti ter kdaj je najbolje uporabiti vsako od njih.
- Za razliko od funkcije SORTBY funkcija SORTBY ne zahteva, da je polje "razvrsti po" del izvornega polja, niti da je prikazano v rezultatih. Če je torej vaša naloga razvrstiti območje na podlagi drugega neodvisnega polja ali seznama po meri, je funkcija SORTBY prava za uporabo. Če želite razvrstiti območje na podlagi njegovih lastnih vrednosti, je primernejša funkcija SORTBY.
- Obe funkciji podpirata več stopenj razvrščanja in obe lahko verižite skupaj z drugimi dinamičnimi polji in običajnimi funkcijami.
- Obe funkciji sta na voljo samo uporabnikom programov Excel 365 in Excel 2021.
Excelova funkcija SORTBY ne deluje
Če formula SORTBY vrne napako, je to najverjetneje posledica enega od naslednjih razlogov.
Nepravilni argumenti by_array
Spletna stran by_array Argumenti morajo biti ena sama vrstica ali en sam stolpec in po velikosti združljivi z velikostjo polje na primer, če polje ima 10 vrstic, by_array mora vsebovati tudi 10 vrstic. V nasprotnem primeru se pojavi napaka #VALUE!.
Nepravilni argumenti sort_order
Spletna stran sort_order Argumenta sta lahko le 1 (naraščajoče) ali -1 (padajoče). Če ni nastavljena nobena vrednost, je privzeta vrednost SORTBY naraščajoči vrstni red. Če je nastavljena katera koli druga vrednost, se vrne napaka #VALUE!.
Ni dovolj prostora za rezultate
Kot vsaka druga funkcija dinamičnega polja tudi funkcija SORTBY razporedi rezultate v območje, ki se samodejno spreminja in posodablja. Če ni dovolj praznih celic za prikaz vseh vrednosti, se vrže napaka #SPILL!.
Izvorni delovni zvezek je zaprt
Če se formula SORTBY sklicuje na drugo Excelovo datoteko, morata biti odprti obe delovni knjigi. Če je izvorna delovna knjiga zaprta, se pojavi napaka #REF!.
Vaša različica programa Excel ne podpira dinamičnih polj
Če se funkcija SORT uporablja v preddinamični različici programa Excel, vrne napako #NAME?.
To je način uporabe funkcije SORTBY v Excelu za razvrščanje po meri in druge stvari. Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu!
Praktični delovni zvezek za prenos
Excelove formule SORTBY (.xlsx datoteka)