
Generische Formel
=SORTBY(data,LEN(data),-1)
Zusammenfassung
Um Textzeichenfolgen in aufsteigender oder absteigender Reihenfolge nach Länge zu sortieren, können Sie eine Formel verwenden, die auf den Funktionen SORTBY und LEN basiert. In dem gezeigten Beispiel lautet die Formel in D5:
=SORTBY(B5:B15,LEN(B5:B15),-1)
Hiermit werden die Textwerte in Spalte B nach Zeichenfolgenlänge in absteigender Reihenfolge sortiert.
Erläuterung
Die SORTBY-Funktion kann Werte in einem Bereich mit einem Array sortieren, das im Arbeitsblatt nicht vorhanden ist.
In diesem Beispiel möchten wir die Werte in B5: B15 nach der Anzahl der Zeichen sortieren, die jede Zeichenfolge enthält. Wir arbeiten von innen nach außen und verwenden die LEN-Funktion, um die Länge jedes Werts zu ermitteln:
LEN(B5:B15) // get length of all strings
Da wir LEN ein Array mit 11 Werten geben, erhalten wir ein Array mit 11 Längen:
(5;7;14;6;5;13;9;4;8;6;11)
Jede Zahl repräsentiert die Zeichenlänge eines Wertes in B5: B11.
Dieses Array wird als Argument by_array1 direkt an die Funktion SORTBY zurückgegeben:
=SORTBY(B5:B15,(5;7;14;6;5;13;9;4;8;6;11),-1)
Die SORTBY-Funktion ermöglicht das Sortieren anhand eines oder mehrerer "Sortieren nach" -Arrays, sofern die Dimensionen mit den Quelldaten kompatibel sind. In diesem Fall gibt es 11 Zeilen in den Quelldaten und 11 Zeilen in dem von LEN zurückgegebenen Array, sodass die Anforderung erfüllt ist.
Die SORTBY-Funktion verwendet das von LEN zurückgegebene Längenarray, um die Werte in B5: B15 zu sortieren, und gibt sortierte Ergebnisse in einem dynamischen Array an D5 zurück. Da die Sortierreihenfolge auf -1 festgelegt ist, werden die Werte in umgekehrter (absteigender) Reihenfolge nach Länge sortiert. Verwenden Sie eine positive 1, um in aufsteigender Reihenfolge zu sortieren.