Fórmula genérica
=ORDENARPOR(data,LARGO(data),-1)
Explicación
Para ordenar las cadenas de texto por longitud en orden ascendente o descendente, puede usar una fórmula basada en las funciones ORDENARPOR y LARGO. En el ejemplo que se muestra, la fórmula en D5 es:
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 LARGO para obtener la longitud de cada valor:
Esta matriz se devuelve directamente a la función ORDENARPOR como argumento by_array1:
La función ORDENARPOR usa la matriz de longitudes devueltas por LARGO para ordenar los valores en B5: B15, y devuelve los resultados ordenados a D5 en una matriz dinámica. Como el orden de clasificación se establece en -1, los valores se ordenan en orden inverso (descendente) por longitud. Use un 1 positivo para ordenar en orden ascendente.
que ordena los valores de texto en la columna B por longitud de cadena, en orden descendente.=ORDENARPOR(B5:B15,LARGO(B5:B15),-1)
Cómo funciona esta fórmula
La función ORDENARPOR puede ordenar los 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 LARGO para obtener la longitud de cada valor:
Debido a que le damos a LARGO una matriz con 11 valores, obtenemos una matriz con 11 longitudes:LARGO(B5:B15) // get length of all strings
Cada número representa la longitud de caracteres de un valor en B5: B11.{5;7;14;6;5;13;9;4;8;6;11}
Esta matriz se devuelve directamente a la función ORDENARPOR como argumento by_array1:
La función ORDENARPOR permite la clasificación basada en uno o más arreglos "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 LARGO, por lo que se cumple el requisito.=ORDENARPOR(B5:B15,{5;7;14;6;5;13;9;4;8;6;11},-1)
La función ORDENARPOR usa la matriz de longitudes devueltas por LARGO para ordenar los valores en B5: B15, y devuelve los resultados ordenados a D5 en una matriz dinámica. Como el orden de clasificación se establece en -1, los valores se ordenan en orden inverso (descendente) por longitud. Use un 1 positivo para ordenar en orden ascendente.
0 comentarios:
Publicar un comentario