¿Cómo copiar una columna según el valor de una celda a otra hoja?
Al trabajar con datos distribuidos en columnas cuyos encabezados son fechas, es habitual necesitar extraer una columna completa de una hoja de cálculo y copiarla a otra hoja, pero únicamente para aquella cuyo encabezado coincida con una fecha específica introducida en otro lugar del libro. Por ejemplo, imagine que tiene una tabla en Hoja1 donde cada encabezado de columna es una fecha distinta, y en Hoja2!A1 introduce una fecha objetivo. Desea copiar de forma automática o sencilla toda la columna de Hoja1 cuyo encabezado coincida con la fecha de Hoja2!A1, y pegarla en Hoja3 —como se ilustra a continuación. Este es un reto habitual al comparar métricas diarias, gestionar horarios o extraer datos específicos por fecha para informes.
➤ Código VBA: copiar automáticamente una columna a otra hoja en función del valor de una celda
➤ Otros métodos integrados de Excel: usar el filtro para aislar y copiar una columna
Copiar columna a otra hoja en función del valor de una celda mediante fórmula
Las funciones ÍNDICE y COINCIDIR de Excel ofrecen una forma eficaz de recuperar una columna completa desde una hoja de origen en función de un valor de encabezado específico referenciado en otra hoja. Este método resulta especialmente útil cuando necesita que los datos se actualicen automáticamente al cambiar el valor de la celda, eliminando ajustes manuales o copias y pegados repetitivos.
1. Seleccione la celda de la hoja de destino donde quiera pegar los valores de la columna. Por ejemplo, haga clic en Hoja3!A1. A continuación, introduzca la siguiente fórmula:
=INDEX(Sheet1!$A1:$E1,MATCH(Sheet2!$A$1,Sheet1!$A$1:$E$1,0))Pulse Intropara aplicar la fórmula y, a continuación, arrastre el controlador de relleno hacia abajo tanto como sea necesario (normalmente hasta las filas correspondientes a la Rango de datos en)Hoja1). Observará que pueden aparecer ceros al final del rango de datos.
2. Elimine o filtre las celdas con valor cero según sea necesario para limpiar la columna extraída.

Código VBA: copiar automáticamente una columna a otra hoja en función del valor de una celda
Si realiza frecuentemente esta tarea de extracción de columnas o prefiere una solución que no requiera configurar fórmulas ni realizar operaciones manuales cada vez que cambie la fecha objetivo, puede utilizar una macro sencilla en VBA. Este script identificará la columna en Hoja1 cuyo encabezado coincida con la fecha de Hoja2!A1 y copiará la columna completa directamente a Hoja3. Este método es ideal para automatizar flujos de trabajo repetitivos o gestionar estructuras de datos dinámicas.
Precauciones: Asegúrese siempre de haber guardado su trabajo antes de ejecutar macros. Las macros no se pueden deshacer y, si contienen referencias incorrectas, podrían copiar datos en ubicaciones no deseadas.
1. Pulse Alt + F11 para abrir el editor de Visual Basic para Aplicaciones. En la ventana de VBA, haga clic en Insertar > Módulo y, a continuación, pegue el siguiente código en el módulo en blanco:
Sub CopyColumnByDate()
Dim wsSource As Worksheet
Dim wsDest As Worksheet
Dim lookupSheet As Worksheet
Dim matchDate As Variant
Dim lastRow As Long
Dim colNum As Long
Dim headerRange As Range
Dim cell As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set wsSource = Worksheets("Sheet1")
Set wsDest = Worksheets("Sheet3")
Set lookupSheet = Worksheets("Sheet2")
matchDate = lookupSheet.Range("A1").Value
Set headerRange = wsSource.Range(wsSource.Cells(1, 1), wsSource.Cells(1, wsSource.Cells(1, wsSource.Columns.Count).End(xlToLeft).Column))
colNum = 0
For Each cell In headerRange
If cell.Value = matchDate Then
colNum = cell.Column
Exit For
End If
Next cell
If colNum > 0 Then
lastRow = wsSource.Cells(wsSource.Rows.Count, colNum).End(xlUp).Row
wsDest.Range("A1").Resize(lastRow, 1).Value = wsSource.Range(wsSource.Cells(1, colNum), wsSource.Cells(lastRow, colNum)).Value
MsgBox "Data copied to Sheet3 column A!", vbInformation, "KutoolsforExcel"
Else
MsgBox "No matching header found.", vbExclamation, "KutoolsforExcel"
End If
End Sub 2. Cierre el editor de VBA. En Excel, pulse Alt + F8, seleccione CopiarColumnaPorFecha y, a continuación, haga clic en Ejecutar. Los datos de la columna cuyo encabezado coincida con la fecha en Hoja1 se copiarán en la columna A de Hoja3.
Consejo: Si sus encabezados comienzan en una fila distinta de la fila 1, ajuste las referencias de fila en el código. Si desea que los datos se peguen en una columna inicial distinta, modifique Rango("A1") en consecuencia. Si utiliza esta macro con frecuencia, considere asignarla a un botón para acceder a ella más fácilmente.
Errores posibles: Si recibe el mensaje «No se ha encontrado ningún encabezado coincidente», compruebe que la fecha en Hoja2!A1 coincida exactamente con el formato de fecha de la fila de encabezados de Hoja1.
Otros métodos integrados de Excel: usar el filtro para aislar y copiar una columna
La función integrada Filtro de Excel también puede ayudarte a aislar y copiar una columna cuando no quieras usar fórmulas ni macros. Este método manual es ideal para tareas puntuales ocasionales o para usuarios que no se sientan cómodos con funciones o scripts.
1. Vaya a la Hoja1 y seleccione la fila de encabezados (por ejemplo, la fila 1). Haga clic en Datos > Filtro para añadir menús desplegables a cada encabezado.
2. Haga clic en la flecha desplegable del filtro en la fila de encabezados y desactive todas las columnas excepto la que coincida con la fecha de Hoja2!A1. Si hay muchas fechas, puede usar el cuadro de búsqueda del menú del filtro para localizar rápidamente el valor de fecha.
3. Seleccione la columna visible situada bajo el encabezado coincidente. Pulse Ctrl + C para copiar.
4. Vaya a Hoja3 y haga clic en la celda inicial deseada (por ejemplo, A1); a continuación, pulse Ctrl + V para pegar.
Notas: El método de filtrado es totalmente manual y no se actualiza automáticamente si cambia la fecha en Hoja2!A1. Este enfoque es ideal para extracciones puntuales de datos y revisiones rápidas en las que no se requiere automatización.
Ventajas: No requiere fórmulas ni programación; ideal para tareas visuales y rápidas.
Inconvenientes: Resulta laborioso si se repite con frecuencia y puede generar errores si no se seleccionan cuidadosamente las columnas.

Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
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