=SORT(A2:C7,3,-1) devuelve la tabla A2:C7 ordenada por su tercera columna, las ventas, de mayor a menor. En Excel en español la función se llama ORDENAR (SORT en inglés), y la tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México): =ORDENAR(A2:C7;3;-1). La tabla original se queda como está; la copia ordenada se derrama desde la celda de la fórmula y se reordena cuando cambia un número. Cambia C7 a 300 y Finn sube al primer puesto.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | Region | Sales | Name | Region | Sales | |
| 2 | Ann | North | 120 | Cara | North | 200 | |
| 3 | Ben | South | 80 | Dan | East | 150 | |
| 4 | Cara | North | 200 | Ann | North | 120 | |
| 5 | Dan | East | 150 | Eve | South | 95 | |
| 6 | Eve | South | 95 | Ben | South | 80 | |
| 7 | Finn | North | 60 | Finn | North | 60 |
=ORDENAR(A2:C7;3;-1)Sintaxis de ORDENAR
=SORT(array, [sort_index], [sort_order], [by_col])
array(matriz) es el rango que se ordena y se devuelve.sort_indexes el número de columna dentro dearraypor la que se ordena. Por defecto, 1.sort_orderes 1 para ascendente (por defecto) o -1 para descendente.by_coles FALSO (por defecto) para ordenar filas y VERDADERO para ordenar columnas de izquierda a derecha.
ORDENAR y ORDENARPOR necesitan Excel 2021, Excel 2024 o Microsoft 365; las versiones anteriores muestran #¿NOMBRE? (#NAME? en inglés; la tabla muestra los nombres de error en inglés). Google Sheets tiene las dos, aunque su SORT recibe un número de columna y TRUE o FALSE en parejas.
El orden ascendente pone primero los números, luego el texto de la A a la Z, y después FALSO y VERDADERO. El texto se compara sin tener en cuenta las mayúsculas. Las celdas vacías de array vuelven como 0 en el resultado.
Cómo ordenar alfabéticamente en Excel
Para reordenar una lista en el sitio, haz clic en cualquier celda de ella y elige Datos > Ordenar de A a Z (o de Z a A). Si la lista tiene columnas vecinas, Excel ordena toda la tabla para que cada fila se mantenga unida. Usa Datos > Ordenar para más de una columna o para una lista personalizada.
Para conservar el orden original y obtener una copia alfabética que se actualiza sola, usa ORDENAR sin más argumentos:
| A | B | C | |
|---|---|---|---|
| 1 | Name | A to Z | |
| 2 | Mia | Ann | |
| 3 | Ben | Ben | |
| 4 | Zoe | Cara | |
| 5 | Ann | Dan | |
| 6 | Leo | Leo | |
| 7 | Cara | Mia | |
| 8 | Dan | Zoe |
=ORDENAR(A2:A8)Escribe Abe en A3 y aparece el primero. =ORDENAR(A2:A8;;-1) va de la Z a la A; los dos separadores seguidos se saltan sort_index. Para ordenar alfabéticamente una lista sin repeticiones, ordena el resultado de UNICOS: =ORDENAR(UNICOS(A2:A8)) (consulta UNICOS).
ORDENARPOR: ordenar por una columna que no devuelves
ORDENAR solo puede ordenar por una columna del rango que devuelve. ORDENARPOR (SORTBY en inglés) recibe la clave de ordenación como un rango aparte, así que puedes devolver solo los nombres, ordenados por ventas:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Region | Sales | By sales | |
| 2 | Ann | North | 120 | Cara | |
| 3 | Ben | South | 80 | Dan | |
| 4 | Cara | North | 200 | Ann | |
| 5 | Dan | East | 150 | Eve | |
| 6 | Eve | South | 95 | Ben | |
| 7 | Finn | North | 60 | Finn |
=ORDENARPOR(A2:A7;C2:C7;-1)El resultado es Cara, Dan, Ann, Eve, Ben, Finn. La sintaxis, en su forma inglesa, es =SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], ...). Cada by_array debe tener tantas filas como array; si no, ORDENARPOR devuelve #¡VALOR! (#VALUE! en inglés).
Para un top 3, toma las primeras filas del resultado: =TOMAR(ORDENARPOR(A2:A7;C2:C7;-1);3) devuelve a Cara, Dan y Ann. TOMAR necesita Microsoft 365 o Excel 2024; en Excel 2021 usa =INDICE(ORDENARPOR(A2:A7;C2:C7;-1);SECUENCIA(3)).
Ordenar por varias columnas
Dale a ORDENARPOR una pareja de clave y orden por nivel. Esto ordena por región de la A a la Z y, dentro de cada región, por ventas de mayor a menor:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | Region | Sales | Name | Region | Sales | |
| 2 | Ann | North | 120 | Dan | East | 150 | |
| 3 | Ben | South | 80 | Cara | North | 200 | |
| 4 | Cara | North | 200 | Ann | North | 120 | |
| 5 | Dan | East | 150 | Finn | North | 60 | |
| 6 | Eve | South | 95 | Eve | South | 95 | |
| 7 | Finn | North | 60 | Ben | South | 80 |
=ORDENARPOR(A2:C7;B2:B7;1;C2:C7;-1)East va primero, luego las tres filas de North como Cara (200), Ann (120) y Finn (60), y después South. ORDENAR puede hacer lo mismo con matrices de números de columna y de órdenes, aunque ORDENARPOR se lee mejor:
=SORT(A2:C7,{2,3},{1,-1})
Esta fórmula lleva constantes matriciales entre llaves y aquí está en su forma inglesa.
Ordenar en un orden personalizado
El orden alfabético no siempre es el que quieres. Para ordenar las regiones como North, East, South, convierte cada región en su posición en esa lista con COINCIDIR (MATCH en inglés) y ordena por las posiciones:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | Region | Sales | Name | Region | Sales | |
| 2 | Ann | North | 120 | Ann | North | 120 | |
| 3 | Ben | South | 80 | Cara | North | 200 | |
| 4 | Cara | North | 200 | Finn | North | 60 | |
| 5 | Dan | East | 150 | Dan | East | 150 | |
| 6 | Eve | South | 95 | Ben | South | 80 | |
| 7 | Finn | North | 60 | Eve | South | 95 |
COINCIDIR devuelve 1 para North, 2 para East y 3 para South, y ORDENARPOR ordena por esos números. Las filas con la misma clave mantienen su orden original, así que las filas de North siguen siendo Ann, Cara, Finn. El mismo truco ordena meses o días de la semana por su nombre: escríbelos en orden de calendario dentro de COINCIDIR. Una región que no está en la lista obtiene #N/A de COINCIDIR; usa como clave IFERROR(MATCH(B2:B7,{"North","East","South"},0),99) (en su forma inglesa, por la constante matricial) para poner esas filas al final.
Práctica: nombres ordenados por ventas
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Region | Sales | By sales | |
| 2 | Ann | North | 120 | ||
| 3 | Ben | South | 80 | ||
| 4 | Cara | North | 200 | ||
| 5 | Dan | East | 150 | ||
| 6 | Eve | South | 95 | ||
| 7 | Finn | North | 60 |
Tu turno: En E2, devuelve solo los nombres, ordenados por ventas de mayor a menor.
La función ORDENAR o el botón Ordenar
Los dos ordenan, pero hacen trabajos distintos:
| Datos > Ordenar | ORDENAR y ORDENARPOR | |
|---|---|---|
| Cambia la tabla original | Sí | No, el resultado va a celdas nuevas |
| Se actualiza cuando cambian los datos | No, hay que volver a ordenar | Sí |
| Funciona en Excel 2019 y anteriores | Sí | No |
| El resultado se puede editar celda a celda | Sí | No, es una sola fórmula |
| Se puede envolver en otra fórmula | No | Sí, por ejemplo =TOMAR(ORDENAR(A2:C7;3;-1);3) |
Usa el botón para ordenar una tabla una vez. Usa la función para un informe o un panel que tiene que seguir ordenado mientras cambian los datos. Si las celdas de debajo o de la derecha de la fórmula no están vacías, la función muestra #SPILL! en lugar de la lista ordenada; vacíalas y aparece (consulta error #SPILL!).
Preguntas frecuentes
¿Cómo ordeno datos con una fórmula en Excel?
Usa ORDENAR: =ORDENAR(A2:C7;3;-1) devuelve A2:C7 ordenada por su tercera columna, de mayor a menor. Omite los dos últimos argumentos, =ORDENAR(A2:A8), para ordenar por la primera columna de menor a mayor, o de la A a la Z si es texto.
¿Qué diferencia hay entre ORDENAR y ORDENARPOR?
ORDENAR ordena por una columna del rango que devuelve, elegida por número. ORDENARPOR ordena por cualquier rango que le des, aunque no lo devuelva: =ORDENARPOR(A2:A7;C2:C7;-1) devuelve solo los nombres, ordenados por ventas. ORDENARPOR también recibe varias claves de ordenación directamente.
¿Cómo ordeno alfabéticamente una lista en Excel?
Selecciona una celda de la lista y haz clic en Datos > Ordenar de A a Z para reordenarla en el sitio. Para conservar la original y obtener una copia ordenada que se actualiza, escribe =ORDENAR(A2:A8) en una celda vacía; usa =ORDENAR(A2:A8;;-1) para ir de la Z a la A.
¿Cómo ordeno por dos columnas con una fórmula?
Dale a ORDENARPOR dos parejas de clave y orden: =ORDENARPOR(A2:C7;B2:B7;1;C2:C7;-1) ordena por región de la A a la Z y, dentro de cada región, por ventas de mayor a menor.
¿Qué versiones de Excel tienen ORDENAR y ORDENARPOR?
Excel 2021, Excel 2024 y Microsoft 365. En Excel 2019 y anteriores muestran #¿NOMBRE?, y la forma de ordenar es el botón Ordenar de la pestaña Datos.