Fórmula de Excel: ordenar por lista personalizada -

Tabla de contenido

Fórmula genérica

=SORTBY(rng,MATCH(rng,custom,0))

Resumen

Para ordenar una lista en un orden personalizado, puede combinar la función SORTBY con la función COINCIDIR. En el ejemplo que se muestra, la tabla se ordena por la columna "grupo" en el orden que se muestra en las celdas J5: J7. La fórmula en D5 es:

=SORTBY(B5:D14,MATCH(D5:D14,custom,0))

donde "personalizado" es el rango con nombre J5: J7 que define el orden de clasificación deseado.

Explicación

En este ejemplo, estamos ordenando una tabla con 10 filas y 3 columnas. En el rango J5: J7 (el rango denominado "personalizado"), los colores "rojo", "azul" y "verde" se enumeran en el orden de clasificación deseado. El objetivo es ordenar la tabla utilizando valores en la columna Grupo en este mismo orden personalizado.

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, no podemos usar el rango con nombre "personalizado" directamente en SORTBY, porque solo contiene 3 filas, mientras que la tabla contiene 10 filas.

Sin embargo, para crear una matriz con 10 filas que se pueda usar como una matriz "ordenar por", podemos usar la función COINCIDIR de esta manera:

MATCH(D5:D14,custom,0)

Observe que estamos pasando los valores de Grupo en D5: D14 como valores de búsqueda y usando "personalizado" como la tabla de búsqueda. El resultado es una matriz como esta:

(2;1;3;3;2;3;1;2;3;1)

Cada valor de la matriz representa la posición numérica del valor de grupo dado en "personalizado", por lo que hay 10 filas representadas. Esta matriz se pasa a la función SORTBY como el argumento by_array1. SORTBY ordena la tabla en el orden "rojo", "azul", "verde" y devuelve el resultado como un rango de derrame comenzando en la celda D5.

Articulos interesantes...