¿Cómo puedo copiar una columna de una hoja a otra según el título en Excel?

¿Cómo puedo copiar una columna de una hoja a otra según el título en Excel?

Tengo una hoja de datos que tiene muchas columnas que pueden cambiar de posición. Para que sea más fácil de usar, quiero crear una segunda hoja que mantenga las columnas en un orden específico. Puedo contar con que los títulos de las columnas sigan siendo los mismos, por lo que quiero copiar las columnas según su título, o más bien, la primera celda de la columna coincide con una cadena.

Como ejemplo, tres de las columnas de la hoja 1 son

id     name     due date

Pero en otro caso de la hoja 1 pueden aparecer como

id     due date     name

Quiero que mi segunda hoja especifique que la primera fila es 'id', la segunda es 'nombre', etc. Intenté usar hlookup, pero solo lo encontré útil para llenar una sola celda; arrastrar la fórmula no funcionó demasiado bien para mí. ¿Alguna idea sobre formas de realizar esto usando funciones en Excel? Prefiero no utilizar una macro a menos que sea absolutamente necesario.

Respuesta1

=HLOOKUP(A$1,Sheet1!$A:$C,ROW(),FALSE)

A medida que completa la fórmula, FILA() actúa como un desplazamiento para ver la siguiente columna de su tabla.

Respuesta2

Me encuentro con esto a menudo. Una forma sencilla de resolverlo es hacer que las columnas hagan referencia a la primera página con desplazamiento. Suponiendo estos datos variables en la Hoja 1, en A1:Q499, luego en la Hoja 2, pondría esto en la celda B2:

OFFSET(Sheet1!$A$2,0,MATCH(A$1,Sheet1!$A$1:$Q$1,0)-1,499,)

Para mayor elegancia, puede colocar protección de celda en la Hoja2, A1:Q1 que solo permite valores de una lista, y usar la Hoja1 A1:q1 como esa lista.

información relacionada