¿Cómo ordenar automáticamente una columna por valor en Excel?
Al trabajar con listas o tablas en Excel, es habitual querer que los datos aparezcan siempre ordenados, especialmente al añadir nueva información. Por ejemplo, imagine que gestiona una tabla de compras como la que se muestra en la captura de pantalla siguiente, en la que los precios de los artículos se actualizan regularmente o se incorporan nuevas entradas. En estos casos, es probable que observe que Excel no reordena automáticamente la columna de Precio al introducir nuevos valores: los datos permanecen en su posición original hasta que los ordene manualmente de nuevo. Esto puede provocar fácilmente confusión o errores, sobre todo cuando necesita analizar o presentar rápidamente información siempre ordenada. Saber cómo ordenar automáticamente una columna según su valor en cuanto se produzcan cambios o adiciones puede ahorrarle, por tanto, mucho tiempo y garantizar la precisión de su flujo de trabajo.
Esta guía ofrece métodos prácticos para ordenar automáticamente una columna específica por valor cada vez que actualice su hoja de cálculo. A continuación encontrará tanto una solución mediante macro VBA como una solución con fórmulas dinámicas, disponible en versiones más recientes de Excel. Cada método está diseñado para escenarios concretos, y se incluyen detalles sobre configuración, consejos de aplicación, explicación de parámetros y resolución de problemas, para que pueda implementar con eficacia el enfoque que mejor se adapte a sus necesidades.
Ordenar automáticamente una columna por valor con VBA
Ordenar automáticamente una columna por valor con fórmula de Excel (matrices dinámicas)

Ordenar automáticamente una columna por valor con VBA
Esta macro de VBA ordena automáticamente todos los datos de una columna especificada cada vez que introduce un valor nuevo o modifica datos existentes en dicha columna de su hoja de cálculo. Este enfoque es ideal si utiliza una versión anterior de Excel o si desea que los datos de una tabla permanezcan siempre ordenados en su lugar, sin necesidad de columnas adicionales.
Escenarios típicos en los que este método resulta útil:
- Cuando desea que los datos de su tabla o columna reflejen al instante un orden actualizado tras cualquier modificación, sin tener que ordenarlos manualmente.
- Si gestiona hojas de cálculo colaborativas en las que varios usuarios actualizan con frecuencia el mismo rango de datos y necesitan que la vista se mantenga siempre ordenada.
Aspectos a tener en cuenta antes de comenzar:
- Las soluciones VBA realizan cambios directos en su hoja de cálculo. Le recomendamos guardar el archivo antes de empezar.
- La macro solo funcionará si tiene habilitadas las macros en su entorno de Excel.
- Las macros se vinculan a la hoja de cálculo específica y podrían necesitar ajustes si modifica el diseño de su tabla.
1. Haga clic con el botón derecho en el nombre de la hoja de cálculo actual en la barra de pestañas y, a continuación, seleccione «Ver código» en el menú contextual.
2. En la ventana abierta de «Microsoft Visual Basic para Aplicaciones», pegue el siguiente código de macro VBA en la ventana de código asociada a su hoja de cálculo de destino.
VBA: Ordenar automáticamente una columna en Excel
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Range("B1").Sort Key1:=Range("B2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub Notas:
1) En el código VBA anterior, «B:B» hace referencia a la columna B, "B1" es la celda de la primera fila de dicha columna y "B2" es la celda inmediatamente debajo del encabezado. Puede ajustar estas referencias para adaptarlas a la columna que desee ordenar automáticamente en sus datos.
2) El parámetro Header:=xlYes en la quinta línea indica que su rango de datos incluye una fila de encabezado, asegurando que este no se ordene junto con los valores de la columna. Si su rango de datos no tiene encabezado, cámbielo por Header:=xlNo y modifique también Key1:=Range("B2") a Key1:=Range("B1").
3) La macro se activa cada vez que se modifica el valor de una celda dentro de la columna especificada.
3. Vuelva a su hoja de cálculo. Ahora, cada vez que añada un número nuevo en la columna Precio o actualice un valor existente, la columna se reordenará automáticamente en orden ascendente.
Consejo: Introduzca siempre los nuevos valores inmediatamente después de la última celda utilizada en la columna. Si hay celdas vacías entre sus datos, el orden no funcionará como se espera.
Ordenar automáticamente una columna por valor con fórmula de Excel (matrices dinámicas)
Para usuarios de Excel 365 o Excel 2021 y versiones posteriores, las funciones de matriz dinámica como SORT y SORTBY ofrecen una forma eficaz y sin código de generar una lista ordenada que se actualiza automáticamente a medida que cambian sus datos. Esta solución no requiere VBA, está integrada en las versiones más recientes de Excel y es ideal para escenarios en los que prefiera conservar sus datos originales intactos, trabajando en cambio con una copia ordenada en un rango o una hoja de cálculo distinta.
¿Cuándo debo utilizar este enfoque?
- Si necesita una versión de sus datos ordenada en tiempo real en una ubicación distinta (por ejemplo, para informes, paneles o impresión), manteniendo intactos los datos originales.
- Cuando use Excel 365, Excel 2021 o versiones posteriores compatibles con matrices dinámicas.
- Este método muestra los datos ordenados en una nueva área y no reordena sus datos originales. Si necesita reordenarlos en su lugar, considere la solución VBA anterior.
- Las matrices dinámicas no están disponibles en Excel 2019 ni en versiones anteriores.
1. Decida dónde desea mostrar la lista ordenada. Por ejemplo, si su tabla original se encuentra en el rango A1:C10 (con encabezados en la fila 1) y quiere que la lista ordenada comience en la celda E1, seleccione E1.
2. Introduzca la siguiente fórmula en la celda E1:
=SORT(A2:C10,2,1) En la fórmula anterior:
- A2:C10 es el rango original de su Rango de datos (excluyendo encabezados). Ajústelo para que coincida con su rango de datos.
- 2 indica que está ordenando por la segunda columna; por ejemplo, si su precio está en la segunda columna del rango seleccionado.
- 1 especifica orden ascendente. Utilice -1 si desea orden descendente.
3. Pulse Intro. La fórmula generará una copia dinámica y ordenada de sus datos. Si añade, elimina o edita elementos en su rango original (por ejemplo, nuevos precios o productos), la lista ordenada se actualizará al instante, sin necesidad de intervención manual.
Notas:
- Si se añaden más datos debajo del área original, la referencia en la fórmula (por ejemplo,)
A2:C10) debe ampliarse en consecuencia. - Para rangos que cambian continuamente, considere utilizar tablas de Excel (Insertar > Tabla) y haga referencia al nombre de la tabla en su fórmula SORT para que el rango se actualice automáticamente.
- Si utiliza una sola columna (por ejemplo, B2:B10), la fórmula se simplifica a
=SORT(B2:B10;1;1).
Demostración: Ordenar automáticamente una columna por valor con VBA en Excel
Ordene fácilmente por frecuencia de apariciones en Excel
La función «Clasificación avanzada» de Kutools para Excel le permite ordenar datos sin esfuerzo según diversos criterios, como la longitud del texto, el apellido, el valor absoluto, la frecuencia y más.

Kutools para Excel: potencie Excel con más de 300 herramientas esenciales, agilice y simplifique su trabajo, y aproveche las funciones de IA para un procesamiento de datos más inteligente y una mayor productividad.Consígalo ahora
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos