Excel-formule: tekst sorteren op lengte -

Generieke formule

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

Samenvatting

Als u tekstreeksen in oplopende of aflopende volgorde op lengte wilt sorteren, kunt u een formule gebruiken op basis van de functies SORTBY en LEN. In het getoonde voorbeeld is de formule in D5:

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

die de tekstwaarden in kolom B sorteert op stringlengte, in aflopende volgorde.

Uitleg

De functie SORTBY kan waarden in een bereik sorteren met een array die niet op het werkblad voorkomt.

In dit voorbeeld willen we de waarden in B5: B15 sorteren op het aantal tekens dat elke string bevat. We werken van binnen naar buiten en gebruiken de LEN-functie om de lengte van elke waarde te bepalen:

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

Omdat we LEN een array met 11 waarden geven, krijgen we een array met 11 lengtes:

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

Elk getal vertegenwoordigt de tekenlengte van een waarde in B5: B11.

Deze array wordt rechtstreeks teruggestuurd naar de functie SORTBY als het argument by_array1:

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

De SORTBY-functie maakt sorteren mogelijk op basis van een of meer "sorteren op" arrays, zolang de afmetingen compatibel zijn met de brongegevens. In dit geval zijn er 11 rijen in de brongegevens en 11 rijen in de matrix die wordt geretourneerd door LEN, dus aan de vereiste is voldaan.

De functie SORTBY gebruikt de reeks lengtes die door LEN worden geretourneerd om de waarden in B5: B15 te sorteren en retourneert gesorteerde resultaten naar D5 in een dynamische reeks. Omdat de sorteervolgorde is ingesteld op -1, worden de waarden in omgekeerde (aflopende) volgorde op lengte gesorteerd. Gebruik een positieve 1 om in oplopende volgorde te sorteren.

Interessante artikelen...