Formuła programu Excel: Sortuj tekst według długości -

Formuła ogólna

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

Podsumowanie

Aby posortować ciągi tekstowe według długości w porządku rosnącym lub malejącym, można użyć formuły opartej na funkcjach SORTUJ WG i DŁ. W przedstawionym przykładzie formuła w D5 to:

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

który sortuje wartości tekstowe w kolumnie B według długości łańcucha, w porządku malejącym.

Wyjaśnienie

Funkcja SORTBY może sortować wartości w zakresie z tablicą, której nie ma w arkuszu.

W tym przykładzie chcemy posortować wartości w B5: B15 według liczby znaków, które zawiera każdy ciąg. Pracując od wewnątrz, używamy funkcji DŁ, aby uzyskać długość każdej wartości:

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

Ponieważ dajemy LEN tablicę z 11 wartościami, otrzymujemy tablicę o 11 długościach:

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

Każda liczba reprezentuje długość znaku wartości w B5: B11.

Ta tablica jest zwracana bezpośrednio do funkcji SORTBY jako argument by_array1:

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

Funkcja SORTBY umożliwia sortowanie w oparciu o jedną lub więcej tablic typu „sort by”, o ile wymiary są zgodne z danymi źródłowymi. W tym przypadku w danych źródłowych znajduje się 11 wierszy, a w tablicy zwróconych przez LEN 11 wierszy, więc wymaganie jest spełnione.

Funkcja SORTBY używa tablicy długości zwróconej przez LEN do sortowania wartości w B5: B15 i zwraca posortowane wyniki do D5 w tablicy dynamicznej. Ponieważ kolejność sortowania jest ustawiona na -1, wartości są sortowane w kolejności odwrotnej (malejącej) według długości. Użyj dodatniej 1, aby posortować w kolejności rosnącej.

Interesujące artykuły...