Excel-formel: Sortera text efter längd -

Generisk formel

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

Sammanfattning

För att sortera textsträngar efter längd i stigande eller fallande ordning kan du använda en formel baserad på SORTBY- och LEN-funktionerna. I exemplet som visas är formeln i D5:

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

som sorterar textvärdena i kolumn B efter stränglängd, i fallande ordning.

Förklaring

SORTBY-funktionen kan sortera värden i ett intervall med en matris som inte finns i kalkylbladet.

I det här exemplet vill vi sortera värdena i B5: B15 efter antalet tecken som varje sträng innehåller. När vi arbetar inifrån och ut använder vi LEN-funktionen för att få längden på varje värde:

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

Eftersom vi ger LEN en matris med 11 värden får vi en matris med 11 längder:

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

Varje nummer representerar teckenlängden för ett värde i B5: B11.

Denna matris returneras direkt till SORTBY-funktionen som by_array1 argument:

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

SORTBY-funktionen tillåter sortering baserat på en eller flera "sortera efter" matriser, så länge dimensioner är kompatibla med källdata. I det här fallet finns det 11 rader i källdata och 11 rader i matrisen som returneras av LEN, så kravet är uppfyllt.

SORTBY-funktionen använder den längdmatris som returneras av LEN för att sortera värdena i B5: B15 och returnerar sorterade resultat till D5 i en dynamisk matris. Eftersom sorteringsordningen är satt till -1 sorteras värdena i omvänd (fallande) ordning efter längd. Använd en positiv 1 för att sortera i stigande ordning.

Intressanta artiklar...