
Generisk formel
=SORTBY(data,LEN(data),-1)
Sammendrag
For å sortere tekststrenger etter lengde i stigende eller synkende rekkefølge, kan du bruke en formel basert på SORTBY- og LENN-funksjonene. I eksemplet vist er formelen i D5:
=SORTBY(B5:B15,LEN(B5:B15),-1)
som sorterer tekstverdiene i kolonne B etter strenglengde, i synkende rekkefølge.
Forklaring
SORTBY-funksjonen kan sortere verdier i et område med en matrise som ikke finnes i regnearket.
I dette eksemplet ønsker vi å sortere verdiene i B5: B15 etter antall tegn hver streng inneholder. Når vi arbeider fra innsiden og ut, bruker vi LEN-funksjonen for å få lengden på hver verdi:
LEN(B5:B15) // get length of all strings
Fordi vi gir LEN en matrise med 11 verdier, får vi en matrise med 11 lengder:
(5;7;14;6;5;13;9;4;8;6;11)
Hvert tall representerer tegnlengden til en verdi i B5: B11.
Denne matrisen returneres direkte til SORTBY-funksjonen som argumentet by_array1:
=SORTBY(B5:B15,(5;7;14;6;5;13;9;4;8;6;11),-1)
SORTBY-funksjonen tillater sortering basert på en eller flere "sorter etter" matriser, så lenge dimensjoner er kompatible med kildedataene. I dette tilfellet er det 11 rader i kildedataene, og 11 rader i matrisen som returneres av LEN, så kravet er oppfylt.
SORTBY-funksjonen bruker matrisen av lengder som returneres av LEN for å sortere verdiene i B5: B15, og returnerer sorterte resultater til D5 i en dynamisk matrise. Fordi sorteringsrekkefølgen er satt til -1, blir verdiene sortert i omvendt (synkende) rekkefølge etter lengde. Bruk en positiv 1 for å sortere i stigende rekkefølge.