Ordena el contenido de un rango o matriz.
Esta función está actualmente disponible para los suscriptores de Office 365 en el canal mensual. Estará disponible para los suscriptores de Office 365 en el canal semianual a partir del 2020 de julio.
Sintaxis:
=ORDENAR (array; [sort_index]; [sort_order]; [by_col])
Array: Es el rango de datos donde vamos a trabajar.
Sort_index: Argumento opcional, indica la fila o columna por la que ordenar. Cuando no se proporciona sort_index, se usa fila = 1, y, columna = 1
Sort_order: Argumento opcional, indica el orden deseado, 1 es ascendente, y, -1 es descendente. Cuando no se proporciona Sort_order, se usa el orden ascendente.
By_col: Argumento opcional, indica la dirección de ordenación, FALSE, quiere decir que ordena por fila, siendo el valor predeterminado, y, TRUE, quiere decir que ordena por columna. Excel ordenará por fila y solo lo hará por columna cuando by_col sea TRUE.
Una matriz puede considerarse como una fila de valores, una columna de valores o una combinación de filas y columnas de valores.
La función ORDENAR devolverá una matriz, que se desbordará si es el resultado final de una fórmula. Esto significa que Excel creará dinámicamente el rango de matriz del tamaño adecuado al presionar ENTRAR.
Si los datos de soporte están en una Tabla de Excel, la matriz cambiará de tamaño automáticamente al agregar o eliminar datos del rango de la matriz si usa Referencias estructuradas.
Cuando se crea una tabla de Excel, Excel asigna un nombre a la tabla y a cada encabezado de columna de la tabla. Cuando se agregan fórmulas a una tabla de Excel, estos nombres pueden aparecer automáticamente a medida que se escribe la fórmula y se seleccionan las referencias de celda en la tabla en lugar de especificarlas manualmente.
Dicha combinación de nombres de tabla y columna se denomina una referencia estructurada, y Excel las usa porque los nombres ajustan siempre que agregue o quite datos de la tabla.
Ejemplo de referencia estructurada: =SUMA(VentasDept[Importe de ventas])
Vamos a ver un ejemplo, tenemos el siguiente modelo de datos:
Vamos a ordenar de forma individual por zona, representante, y, producto.
Primero, vamos a ordenar por zona, con los argumentos por defecto.
La sintaxis seria:
=ORDENAR(EJEMPLO2!$A$2:$A$17)
El resultado es una matriz desbordada de una sola columna con las zonas ordenadas de manera descendente.
Ahora, vamos a ordenar por representante, con los valores de los argumentos por defecto, para ello:
=ORDENAR(B2:B17)
Como resultado, volvemos a tener una matriz desbordada de una sola columna, ordenada de menor a mayor.
Y por último, ordenamos por producto, dejando los argumentos por defecto.
=ORDENAR(C2:C17)
Volvemos a tener una matriz desbordada de una sola columna, con los productos ordenados de menor a mayor.
Veamos otro ejemplo, en este caso, vamos a ordenar la columna Zona, pero de manera descendente, ya sabemos que, para ordenar de manera descendente, debemos de usar el valor -1, para ello, seleccionamos la columna Zona, como es solo una columna, en el argumento Sort_index, que es número de fila a ordenar, lo voy a omitir.
La fórmula seria:
=ORDENAR(A2:A17;-1)
El resultado es las zonas ordenadas de mayor a menor.
Veamos otro ejemplo, viendo el modelo, tenemos la columna zona, representante, producto, y, unidades.
Vamos a ordenar las columnas zona, representante, y, producto, pues vamos a ordenar por la columna producto, pero por columnas, no por filas que es el valor predeterminado.
Escribimos el signo igual, el nombre de la función, y, abrimos un paréntesis.
=ORDENAR(
En el argumento matriz, señalamos las tres columnas.
=ORDENAR(EJEMPLO2!$A$2:$C$17;3;
El siguiente argumento es ordenar índice, que es la columna por la que queremos ordenar, en este caso, ponemos 3, que es la columna producto.
=ORDENAR(EJEMPLO2!$A$2:$C$17;3;
El siguiente argumento es criterio de ordenación, ponemos 1, es decir, ordenar de manera ascendente.
=ORDENAR(EJEMPLO2!$A$2:$C$17;3;1;
El ultimo argumento es por columna, pues, lo ponemos en verdadero, en caso contrario, lo ordenara por filas, que es el valor predeterminado.
Cerramos paréntesis, y, aceptamos.
=ORDENAR(EJEMPLO2!$A$2:$C$17;3;1;VERDADERO)
Veremos que se ha ordenado por producto, pero en vez de ordenar hacia abajo, lo ha hecho hacia la derecha, además, la columna producto, se coloca como la primera columna.
Si cambiamos el argumento por columna a falso, veremos como se ordenar por la columna producto, de menor a mayor, pero no es movida a la primera posición.
=ORDENAR(EJEMPLO2!$A$2:$C$17;3;1;FALSO)
También, podemos ordenar por más de una coluna, lo vamos a ver en el siguiente ejemplo.
En este caso, vamos a ordenar por la columna representante y por la columna unidades, cuando vamos a ordenar por más de un criterio, debemos de introducir las columnas a ordenar entre llaves, igual que el orden de ordenación.
Si uso la siguiente sintaxis:
=ORDENAR(EJEMPLO3!$A$4:$D$20;{2;4};{1;-1})
Podemos observar entre llaves, {2;4}, quiere decir que me ordene por la columna representante y unidades, y, en el orden de ordenación, {1;-1}, quiere decir que la columna representante la ordene de manera ascendente, y, la columna unidades de manera descendente, el resultado sería:
Comments