
Reordenar columnas es una de las tareas más comunes en Excel. Ya sea que limpie datos exportados sin procesar, prepare informes o cree paneles, saber cómo mover columnas de Excel rápidamente le ahorra horas de edición manual.
Muchos usuarios sobrescriben datos accidentalmente o se topan con errores frustrantes al arrastrar columnas. Esta guía cubre las formas más fiables de reorganizar columnas en Excel, desde la técnica de arrastrar y soltar más sencilla hasta la automatización con Python para el procesamiento por lotes.
- Método 1: Arrastrar y soltar con la tecla Shift (el método más rápido)
- Método 2: Cortar e insertar (lo más seguro para fórmulas)
- Método 3: Reordenar columnas en Excel con Python (flujo de trabajo automatizado)
- Consejo profesional: Manejo de fórmulas (referencias absolutas vs. relativas)
- Preguntas frecuentes (FAQ)
Método 1: Arrastrar y soltar con la tecla Shift (el método más rápido)
Si trabaja con un conjunto de datos pequeño y solo necesita mover una columna unos pocos espacios, el método de arrastre con el mouse es el más rápido.
- Haga clic en la letra de la columna en el encabezado para seleccionar toda la columna (por ejemplo, la columna B).
- Pase el mouse sobre el borde de la columna seleccionada hasta que el cursor se convierta en una flecha de movimiento de cuatro puntas.
- Mantenga presionada la tecla Shift.
- Haga clic y arrastre la columna. Aparece una línea verde fina que muestra dónde se insertará la columna.
- Suelte primero el mouse y luego suelte Shift.

Nota importante: Sin mantener presionada la tecla Shift, arrastrar sobrescribirá los datos de la columna de destino en lugar de desplazar las columnas existentes a un lado.
Método 2: Cortar e insertar (lo más seguro para fórmulas)
Si va a mover una columna que contiene fórmulas que hacen referencia a otras hojas o celdas, el método Cortar e insertar es la opción más segura. A diferencia del copiar y pegar estándar, este método garantiza que las referencias relativas de las fórmulas se actualicen para reflejar la nueva ubicación.
- Haga clic en el encabezado de la columna para seleccionar toda la columna que desea mover.
- Presione Ctrl + X (Windows) o Cmd + X (Mac). Como alternativa, haga clic derecho en el encabezado y seleccione Cortar.
- Haga clic derecho en el encabezado de la columna donde desea insertar la columna cortada.
- Elija Insertar celdas cortadas. Excel desplaza automáticamente todas las columnas existentes a la derecha e inserta su columna en su lugar.

Si su objetivo no es solo reordenar columnas, sino cambiar su orientación por completo, siga esta guía para convertir columnas en filas en Excel.
Método 3: Reordenar columnas en Excel con Python (flujo de trabajo automatizado)
Mover columnas manualmente en Excel resulta ineficiente cuando se procesan lotes de hojas de cálculo de Excel. Con la biblioteca Free Spire.XLS for Python, puede reestructurar las secuencias de columnas mediante programación mientras conserva los valores, el formato de las celdas y los anchos de columna.
Requisito previo
Primero, instale Free Spire.XLS for Python:
pip install Spire.Xls.Free
Código de Python para reordenar columnas de Excel
Este script copia las columnas de origen en una nueva secuencia personalizada, conserva los valores de las celdas, el formato y los anchos de columna. Los índices de columna comienzan en 0.
from spire.xls import *
from spire.xls.common import *
# Create a Workbook object
workbook = Workbook()
# Load the Excel document
workbook.LoadFromFile("SampleData1.xlsx")
# Get a specific worksheet
targetSheet = workbook.Worksheets[0]
# Specify the new column order in a list (the column index starts from 0)
newColumnOrder = [1, 0, 3, 2, 4, 5 ]
# Add a temporary worksheet
tempSheet = workbook.Worksheets.Add("temp")
# Copy data from the target worksheet to the temporary sheet
tempSheet.CopyFrom(targetSheet)
# Iterate through the newColumnOrder list
for i in range(len(newColumnOrder)):
# Copy the column from the temporary sheet to the target sheet in the new order
tempSheet.Columns[newColumnOrder[i]].Copy(targetSheet.Columns[i], True, True)
# Reset the column width in the target sheet
targetSheet.Columns[i].ColumnWidth = tempSheet.Columns[newColumnOrder[i]].ColumnWidth
# Remove the temporary sheet
workbook.Worksheets.Remove(tempSheet)
# Save the workbook to another Excel file
workbook.SaveToFile("ReorderColumns.xlsx", FileFormat.Version2016)
# Dispose resources
workbook.Dispose()
Cómo funciona el script
- Cargue el archivo de Excel de entrada y seleccione la hoja de cálculo de destino.
- Defina la secuencia de columnas deseada en newColumnOrder.
- Cree una hoja temporal como copia de seguridad de los datos antes de reescribir las columnas.
- Recorra su orden personalizado y copie las columnas una por una, conservando el formato de las celdas y el ancho de las columnas.
- Elimine la hoja temporal y exporte el archivo de Excel reordenado.
Resultado:
newColumnOrder = [1, 0, 3, 2, 4, 5] mueve la segunda columna (índice 1) a la primera posición; la tercera columna (índice 2) se mueve a la cuarta posición.

Free Spire.XLS también admite muchas otras operaciones con columnas y filas, como insertar, copiar y eliminar filas o columnas.
Consejo profesional: Manejo de fórmulas (referencias absolutas vs. relativas)
Cuando mueve columnas, Excel normalmente maneja bien las referencias relativas. Sin embargo, si sus fórmulas usan referencias absolutas (como $A$1 en lugar de A1), mover la columna no cambiará la referencia en la fórmula.
Para verificar sus fórmulas después de mover columnas:
- Haga clic en una celda que contenga una fórmula.
- Revise la barra de fórmulas.
- Si encuentra valores de error
#REF!, deberá actualizar manualmente la referencia para que coincida con la nueva ubicación de la columna.
Si desea eliminar fórmulas para evitar ese posible error antes de procesar, consulte nuestra guía sobre Cómo eliminar fórmulas en Excel pero mantener los datos.
Conclusiones finales
La mejor forma de mover columnas en Excel depende del tamaño de la tarea y del riesgo para sus datos. Para ajustes rápidos, arrastrar y soltar con Shift es el método más rápido. Para hojas de cálculo con muchas fórmulas, Cortar e insertar es más seguro. Para tareas de reordenamiento recurrentes o masivas, la automatización con Python puede ahorrar mucho tiempo y reducir errores manuales.
Elija el método que elija, siga tres sencillas medidas de seguridad: guarde una copia de seguridad antes de reestructurar, verifique las fórmulas después de mover y compruebe que los anchos de columna y el formato sigan intactos. Con el método adecuado, reorganizar columnas de Excel se convierte en una tarea rápida y predecible en lugar de arriesgada.
Preguntas frecuentes (FAQ)
P: ¿Puedo mover varias columnas a la vez?
Sí, para columnas adyacentes. Seleccione los encabezados de columna como un bloque y luego arrastre el bloque con Shift o use Cortar e insertar. Para columnas no adyacentes, muévalas de una en una o use Power Query/Python para obtener un orden personalizado.
P: ¿Por qué Excel sobrescribe datos cuando arrastro una columna?
Excel trata un arrastre normal como una operación de mover y reemplazar. Mantener presionada Shift lo cambia a una operación de insertar y desplazar. Si se sobrescribieron datos, presione Ctrl + Z inmediatamente.
P: ¿Cómo muevo columnas en Power Query?
En el Editor de Power Query, seleccione la columna y arrástrela a la nueva posición, o use Transformar > Mover. Luego cargue la consulta de nuevo en Excel.
P: ¿Cómo muevo columnas usando solo el teclado?
Seleccione la columna con Ctrl + Space, córtela con Ctrl + X, navegue hasta la columna de destino, luego abra el menú contextual con Shift + F10 y elija Insert Cut Cells. El comportamiento exacto del teclado puede variar ligeramente según la versión de Excel.