Fórmula de Excel: ordenar texto por longitud -

Fórmula genérica

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

Resumen

Para ordenar cadenas de texto por longitud en orden ascendente o descendente, puede utilizar una fórmula basada en las funciones SORTBY y LEN. En el ejemplo que se muestra, la fórmula en D5 es:

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

que ordena los valores de texto en la columna B por longitud de cadena, en orden descendente.

Explicación

La función SORTBY puede ordenar valores en un rango con una matriz que no existe en la hoja de trabajo.

En este ejemplo, queremos ordenar los valores en B5: B15 por el número de caracteres que contiene cada cadena. Trabajando de adentro hacia afuera, usamos la función LEN para obtener la longitud de cada valor:

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

Debido a que le damos a LEN una matriz con 11 valores, obtenemos una matriz con 11 longitudes:

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

Cada número representa la longitud de caracteres de un valor en B5: B11.

Esta matriz se devuelve directamente a la función SORTBY como el argumento by_array1:

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

La función SORTBY permite ordenar en función de una o más matrices "ordenar por", siempre que las dimensiones sean compatibles con los datos de origen. En este caso, hay 11 filas en los datos de origen y 11 filas en la matriz devuelta por LEN, por lo que se cumple el requisito.

La función SORTBY usa la matriz de longitudes devuelta por LEN para ordenar los valores en B5: B15 y devuelve los resultados ordenados a D5 en una matriz dinámica. Dado que el orden de clasificación se establece en -1, los valores se ordenan en orden inverso (descendente) por longitud. Utilice un 1 positivo para ordenar en orden ascendente.

Articulos interesantes...