Excel vzorec: Řazení textu podle délky -

Obecný vzorec

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

souhrn

Chcete-li třídit textové řetězce podle délky ve vzestupném nebo sestupném pořadí, můžete použít vzorec založený na funkcích SORTBY a LEN. V zobrazeném příkladu je vzorec v D5:

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

který seřadí textové hodnoty ve sloupci B podle délky řetězce v sestupném pořadí.

Vysvětlení

Funkce SORTBY může řadit hodnoty v rozsahu s polem, které na listu neexistuje.

V tomto příkladu chceme řadit hodnoty v B5: B15 podle počtu znaků, které každý řetězec obsahuje. Při práci zevnitř ven používáme funkci LEN k získání délky každé hodnoty:

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

Protože dáme LEN pole s 11 hodnotami, dostaneme pole s 11 délkami:

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

Každé číslo představuje délku znaku hodnoty v B5: B11.

Toto pole se vrací přímo do funkce SORTBY jako argument by_array1:

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

Funkce SORTBY umožňuje třídění na základě jednoho nebo více polí „setřídit podle“, pokud jsou rozměry kompatibilní se zdrojovými daty. V tomto případě je ve zdrojových datech 11 řádků a 11 řádků v poli vráceném LEN, takže je požadavek splněn.

Funkce SORTBY používá pole délek vrácené funkcí LEN k seřazení hodnot v B5: B15 a vrací seřazené výsledky do D5 v dynamickém poli. Protože je pořadí řazení nastaveno na -1, jsou hodnoty seřazeny v opačném (sestupném) pořadí podle délky. K seřazení vzestupně použijte kladnou 1.

Zajímavé články...