
Splošna formula
=SORTBY(data,LEN(data),-1)
Povzetek
Za razvrščanje besedilnih nizov po dolžini v naraščajočem ali padajočem vrstnem redu lahko uporabite formulo, ki temelji na funkcijah SORTBY in LEN. V prikazanem primeru je formula v D5:
=SORTBY(B5:B15,LEN(B5:B15),-1)
ki razvrsti besedilne vrednosti v stolpcu B po dolžini niza v padajočem vrstnem redu.
Pojasnilo
Funkcija SORTBY lahko razvrsti vrednosti v obsegu z matriko, ki ne obstaja na delovnem listu.
V tem primeru želimo vrednosti v B5: B15 razvrstiti po številu znakov, ki jih vsebuje vsak niz. Če delamo od znotraj navzven, s pomočjo funkcije LEN dobimo dolžino posamezne vrednosti:
LEN(B5:B15) // get length of all strings
Ker damo LEN matriko z 11 vrednostmi, dobimo matriko z 11 dolžinami:
(5;7;14;6;5;13;9;4;8;6;11)
Vsaka številka predstavlja dolžino znaka vrednosti v B5: B11.
Ta matrika se vrne neposredno v funkcijo SORTBY kot argument by_array1:
=SORTBY(B5:B15,(5;7;14;6;5;13;9;4;8;6;11),-1)
Funkcija SORTBY omogoča razvrščanje na podlagi enega ali več nizov »razvrsti po«, če so mere združljive z izvornimi podatki. V tem primeru je v izvornih podatkih 11 vrstic in 11 vrstic v polju, ki ga vrne LEN, zato je zahteva izpolnjena.
Funkcija SORTBY uporablja niz dolžin, ki jih vrne LEN, za razvrščanje vrednosti v B5: B15 in vrne razvrščene rezultate v D5 v dinamičnem polju. Ker je vrstni red razvrščanja nastavljen na -1, so vrednosti razvrščene v obratnem (padajočem) vrstnem redu po dolžini. Uporabite pozitivno 1 za razvrščanje po naraščajočem vrstnem redu.