
Generička formula
=SORTBY(data,LEN(data),-1)
Sažetak
Za sortiranje tekstualnih nizova po duljini u rastućem ili silaznom redoslijedu možete upotrijebiti formulu koja se temelji na funkcijama SORTBY i LEN. U prikazanom primjeru formula u D5 je:
=SORTBY(B5:B15,LEN(B5:B15),-1)
koja sortira tekstualne vrijednosti u stupcu B prema duljini niza, silaznim redoslijedom.
Obrazloženje
Funkcija SORTBY može sortirati vrijednosti u rasponu s nizom koji ne postoji na radnom listu.
U ovom primjeru želimo sortirati vrijednosti u B5: B15 prema broju znakova koji sadrži svaki niz. Radeći iznutra prema van, koristimo funkciju LEN da bismo dobili duljinu svake vrijednosti:
LEN(B5:B15) // get length of all strings
Budući da LEN-u dajemo niz s 11 vrijednosti, dobivamo niz s 11 duljina:
(5;7;14;6;5;13;9;4;8;6;11)
Svaki broj predstavlja duljinu znaka vrijednosti u B5: B11.
Ovaj se niz vraća izravno funkciji SORTBY kao argument by_array1:
=SORTBY(B5:B15,(5;7;14;6;5;13;9;4;8;6;11),-1)
Funkcija SORTBY omogućuje sortiranje na temelju jednog ili više polja "sortiraj po", sve dok su dimenzije kompatibilne s izvornim podacima. U ovom slučaju postoji 11 redaka u izvornim podacima i 11 redaka u polju koje je vratio LEN, tako da je zahtjev zadovoljen.
Funkcija SORTBY koristi niz duljina koje je vratio LEN za sortiranje vrijednosti u B5: B15, a sortirane rezultate vraća u D5 u dinamičkom nizu. Budući da je redoslijed sortiranja postavljen na -1, vrijednosti se sortiraju u obrnutom (silaznom) redoslijedu po duljini. Koristite pozitivnu 1 za sortiranje u rastućem redoslijedu.