Todas las funcionesMatrices dinámicas
ORDENAR (SORT)
Aprenda ORDENAR con sintaxis, argumentos, ejemplos comprobados, errores frecuentes y fórmulas equivalentes para Excel en español.
SORT
Sintaxis
ORDENAR(array, [sort_index], [sort_order], [by_col])Ejemplo: =SORT(A2:C100,3,-1)
Disponibilidad: Excel 2021+, Microsoft 365
La función ORDENAR en Excel devuelve una copia ordenada de un rango y la desborda en las celdas inferiores: =SORT(array, [sort_index], [sort_order], [by_col]). Como los datos originales no cambian, la lista ordenada se actualiza siempre que cambia el origen.
Cuándo usarla
- Quiere una lista clasificada, como ventas principales, que permanezca actualizada al cambiar los datos.
- Necesita un origen ordenado para un desplegable, por ejemplo combinado con ÚNICOS.
- Quiere ordenar una tabla por una columna manteniendo juntas las filas.
- Desea conservar los datos de origen en su orden original.
Argumentos
- array. El rango o matriz que se ordenará. Se reorganiza todo el bloque, por lo que las columnas relacionadas permanecen juntas.
- sort_index. Opcional. El número de columna, o fila, dentro de la matriz por el que se ordenará, empezando por 1. Si se omite, se usa la primera.
- sort_order. Opcional. 1 ordena de forma ascendente, que es el valor predeterminado, y -1 de forma descendente.
- by_col. Opcional. FALSE u omitido ordena filas. TRUE ordena en cambio las columnas de izquierda a derecha.
Ejemplos explicados
De mayor a menor
| A | B | C |
|---|
| 1 | Region | Rep | Amount |
|---|
| 2 | East | Ana | 1200 |
|---|
| 3 | West | Ben | 850 |
|---|
| 4 | East | Cara | 430 |
|---|
| 5 | North | Dan | 970 |
|---|
| 6 | West | Eli | 1500 |
|---|
| 7 | East | Ana | 610 |
|---|
Fórmula: E2: =SORT(C2:C7,1,-1)
Resultado: se desborda en 1500, 1200, 970, 850, 610, 430
Un sort_order de -1 indica orden descendente.
Ordenar una tabla completa por Amount
| A | B | C |
|---|
| 1 | Region | Rep | Amount |
|---|
| 2 | East | Ana | 1200 |
|---|
| 3 | West | Ben | 850 |
|---|
| 4 | East | Cara | 430 |
|---|
| 5 | North | Dan | 970 |
|---|
| 6 | West | Eli | 1500 |
|---|
| 7 | East | Ana | 610 |
|---|
Fórmula: E2: =SORT(A2:C7,3,-1)
Resultado: se desborda en West, East, North, West, East, East
La tabla se desborda manteniendo unidas las filas; se muestra la primera columna, ordenada por Amount, la columna 3, de forma descendente.
Regiones distintas y ordenadas
| A | B | C |
|---|
| 1 | Region | Rep | Amount |
|---|
| 2 | East | Ana | 1200 |
|---|
| 3 | West | Ben | 850 |
|---|
| 4 | East | Cara | 430 |
|---|
| 5 | North | Dan | 970 |
|---|
| 6 | West | Eli | 1500 |
|---|
| 7 | East | Ana | 610 |
|---|
Fórmula: E2: =SORT(UNIQUE(A2:A7))
Resultado: se desborda en East, North, West
ÚNICOS elimina los duplicados y después ORDENAR coloca la lista de A a Z.
Pruébalo
Una hoja pequeña con datos de ejemplo. Cambia la fórmula o un número y observa el resultado.
Fórmula en F2: =SORT(B2:D7,3,-1)
Resultado en F2: Lamp
Errores y comprobaciones
- #SPILL!. El rango de salida está bloqueado. Borre las celdas en las que debería desbordarse el resultado.
- Se ordena la columna equivocada. sort_index es relativo a la matriz proporcionada, no a la hoja. En A2:C7, la columna 3 es Amount.
- #VALUE!. sort_index es mayor que el número de columnas disponibles en la matriz.
- #NAME?. ORDENAR requiere Excel 2021 o Microsoft 365.
Funciones relacionadas
Preguntas frecuentes
- ¿Cómo ordeno por dos columnas?
- Pase matrices: =SORT(A2:C7,{1,3},{1,-1}) ordena primero por la columna 1 ascendente y después por la 3 descendente.
- ¿Cuál es la diferencia entre ORDENAR y ORDENARPOR?
- ORDENAR usa una columna de la propia matriz; ORDENARPOR puede usar cualquier rango independiente.
- ¿ORDENAR modifica mis datos?
- No. Crea una copia ordenada y deja intactos los datos originales.
- ¿Cómo obtengo los tres primeros?
- Use TAKE(SORT(...),3) en Microsoft 365, o ÍNDICE junto con una secuencia.
Más funciones de Matrices dinámicas