
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.