function

ORDENARPOR

Todo sobre la función ORDENARPOR en Excel

La función ORDENARPOR en Excel ordena el contenido de un rango o matriz basándose en los valores de un rango o matriz correspondiente. Es especialmente útil cuando se desea ordenar un conjunto de datos utilizando una columna que no se quiere incluir en el resultado final.

Por ejemplo, puedes ordenar una lista de nombres de empleados según su fecha de contratación sin necesidad de que la fecha aparezca en la lista ordenada resultante. Esta es una de las funciones de «matrices dinámicas» de Excel, lo que significa que puede devolver una matriz de valores que se «desborda» automáticamente en las celdas adyacentes.

Sintaxis

=ORDENARPOR(matriz; por_matriz1; [orden1]; [por_matriz2]; [orden2]; ...)

La función ORDENARPOR utiliza los siguientes argumentos:

  • matriz: Es el rango o la matriz de datos que se desea ordenar. Obligatorio.
  • por_matriz1: El rango o matriz por el que se debe ordenar. Debe tener dimensiones compatibles con el argumento matriz (el mismo número de filas si se ordena por una columna, o el mismo número de columnas si se ordena por una fila). Obligatorio.
  • orden1: Especifica el orden de clasificación. Puede ser 1 para ascendente (de menor a mayor) o -1 para descendente (de mayor a menor). Si se omite, el valor predeterminado es 1 (ascendente). Opcional.
  • [por_matriz2], [orden2], …: Pares adicionales de rango de ordenación y criterio de orden. Se aplican en secuencia si existen valores iguales en los criterios anteriores. Opcional.

Ejemplos

Para los siguientes ejemplos, usaremos la siguiente tabla de datos de ejemplo:

A B C
1 Nombre Departamento Edad
2 Ana Ventas 34
3 Luis Marketing 28
4 Elena Ventas 41
5 Carlos IT 28

Ejemplo 1: Ordenar nombres por edad

Esta fórmula ordena la lista de nombres (rango A2:A5) basándose en la edad de cada persona (rango C2:C5) de forma ascendente.

=ORDENARPOR(A2:A5; C2:C5)

Resultado: La fórmula devolverá una matriz con los nombres ordenados por la edad de menor a mayor. La celda donde se introduce la fórmula mostrará «Luis», y los nombres siguientes se desbordarán en las celdas inferiores.

  1. Luis
  2. Carlos
  3. Ana
  4. Elena

Ejemplo 2: Ordenar nombres por edad en orden descendente

Similar al ejemplo anterior, pero esta vez ordenando de mayor a menor edad, especificando -1 en el tercer argumento.

=ORDENARPOR(A2:A5; C2:C5; -1)

Resultado: Una lista de nombres ordenada por la edad de mayor a menor.

  1. Elena
  2. Ana
  3. Luis
  4. Carlos

Ejemplo 3: Ordenar por múltiples criterios

Esta fórmula ordena la tabla completa (A2:C5) primero por Departamento (B2:B5) en orden ascendente y, para aquellos que estén en el mismo departamento, por Edad (C2:C5) en orden descendente.

=ORDENARPOR(A2:C5; B2:B5; 1; C2:C5; -1)

Resultado: Una tabla de 3 columnas y 4 filas, ordenada primero alfabéticamente por departamento y luego por edad de mayor a menor.

Carlos IT 28
Luis Marketing 28
Elena Ventas 41
Ana Ventas 34

Observaciones

Es fundamental que las dimensiones de los argumentos matriz y por_matriz sean compatibles. Por ejemplo, si matriz tiene 10 filas y 3 columnas, por_matriz1 debe ser un rango de 10 filas y 1 columna, o de 1 fila y 10 columnas.

Al ser una función de matriz dinámica, los resultados se «desbordarán». Asegúrate de que haya suficientes celdas vacías debajo y/o a la derecha de la celda de la fórmula para evitar un error #¡DESBORDAMIENTO!.

Errores comunes

  • #¡VALOR!: Ocurre si los argumentos matriz y por_matriz tienen dimensiones incompatibles (por ejemplo, diferente número de filas o columnas).
  • #¡DESBORDAMIENTO!: Se produce si el rango donde se deben mostrar los resultados contiene datos. Despeja el área necesaria para que la matriz de resultados pueda expandirse.

Disponibilidad por versión de Excel

La función ORDENARPOR está disponible en las siguientes versiones de Excel:

  • Excel para Microsoft 365 (Windows y Mac)
  • Excel 2021 (Windows y Mac)
  • Excel para la web
  • Excel para dispositivos móviles (iOS y Android)

No está disponible en versiones perpetuas anteriores como Excel 2019, 2016, etc.

Compatibilidad

Software Compatibilidad Notas Alternativa
Microsoft Excel ✔️ Disponible en Microsoft 365 y Excel 2021 o posterior. N/A
Google Sheets ✔️ La función se llama SORTBY y tiene una sintaxis muy similar. N/A
LibreOffice Calc ✔️ Disponible a partir de la versión 7.0. En versiones antiguas, se puede replicar usando columnas auxiliares y la función ORDENAR.
OpenOffice Calc No soporta funciones de matriz dinámica. Se requiere el uso de columnas auxiliares y la ordenación manual de datos.
WPS Office Spreadsheets ✔️ Las versiones recientes incluyen soporte para funciones de matriz dinámica. N/A
Apple Numbers No dispone de una función equivalente directa a ORDENARPOR. La ordenación debe realizarse sobre la tabla de datos original o usando columnas auxiliares.

Funciones Relacionadas

  • ORDENAR: Ordena el contenido de un rango o matriz basándose en una o más columnas dentro de la propia matriz.
  • FILTRAR: Permite filtrar un rango de datos en función de los criterios que definas. Se puede combinar con ORDENARPOR para ordenar un conjunto de datos filtrados.
  • UNICOS: Devuelve una lista de los valores únicos de un rango o matriz.
  • SECUENCIA: Genera una lista de números secuenciales en una matriz, útil para crear índices o listas numeradas.

Ver también...