Excel-formel: Sorter tekst efter længde -

Generisk formel

=SORTBY(data,LEN(data),-1)

Resumé

For at sortere tekststrenge efter længde i stigende eller faldende rækkefølge kan du bruge en formel baseret på funktionerne SORTBY og LEN. I det viste eksempel er formlen i D5:

=SORTBY(B5:B15,LEN(B5:B15),-1)

der sorterer tekstværdierne i kolonne B efter strenglængde i faldende rækkefølge.

Forklaring

SORTBY-funktionen kan sortere værdier i et interval med en matrix, der ikke findes på regnearket.

I dette eksempel vil vi sortere værdierne i B5: B15 efter antallet af tegn, hver streng indeholder. Når vi arbejder indefra og ud, bruger vi LEN-funktionen til at få længden af ​​hver værdi:

LEN(B5:B15) // get length of all strings

Fordi vi giver LEN en matrix med 11 værdier, får vi en matrix med 11 længder:

(5;7;14;6;5;13;9;4;8;6;11)

Hvert tal repræsenterer tegnlængden af ​​en værdi i B5: B11.

Denne matrix returneres direkte til SORTBY-funktionen som argumentet by_array1:

=SORTBY(B5:B15,(5;7;14;6;5;13;9;4;8;6;11),-1)

SORTBY-funktionen tillader sortering baseret på en eller flere "sorter efter" arrays, så længe dimensioner er kompatible med kildedataene. I dette tilfælde er der 11 rækker i kildedataene og 11 rækker i arrayet returneret af LEN, så kravet er opfyldt.

SORTBY-funktionen bruger den række af længder, der returneres af LEN til at sortere værdierne i B5: B15, og returnerer sorterede resultater til D5 i et dynamisk array. Da sorteringsrækkefølgen er indstillet til -1, sorteres værdierne i omvendt (faldende) rækkefølge efter længde. Brug en positiv 1 til at sortere i stigende rækkefølge.

Interessante artikler...