Excel-formel: Sorter tekst etter lengde -

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.

Interessante artikler...