=HLOOKUP(A$1,Sheet1!$A:$C,ROW(),FALSE)
Conforme você preenche a fórmula, o ROW () age como um deslocamento para ver a próxima coluna na sua tabela.
Eu tenho uma folha de dados que tem muitas colunas que podem mudar de posição. Para facilitar o uso, quero criar uma segunda folha que mantenha as colunas em uma ordem especificada. Eu posso contar com os títulos das colunas permanecendo os mesmos, então eu quero copiar colunas com base em seu título, ou melhor, a primeira célula na coluna corresponde a uma string.
Como exemplo, três das colunas na planilha 1 são
id name due date
Mas em outra instância da planilha 1 eles podem aparecer como
id due date name
Eu quero minha segunda planilha para especificar que a primeira linha é 'id', segunda é 'nome', etc. Eu tentei usar o hlookup, mas só achei útil preencher uma única célula, arrastando a fórmula não carregue muito bem para mim. Alguma idéia sobre maneiras de realizar isso usando funções no excel? Eu prefiro não usar uma macro a menos que seja absolutamente necessário.
Eu me deparo com isso muitas vezes. Uma maneira fácil de resolvê-lo é fazer com que as colunas se refiram à primeira página com deslocamento. Assumindo esses dados variáveis na Planilha1, em A1: Q499, então na Planilha 2, colocaria isso na célula B2:
OFFSET(Sheet1!$A$2,0,MATCH(A$1,Sheet1!$A$1:$Q$1,0)-1,499,)
Por mais fantasia, você poderia colocar proteção de célula na Planilha2, A1: Q1, que permite apenas valores de uma lista, e usar Planilha1 A1: q1 como essa lista.