Como posso copiar uma coluna de uma planilha para outra com base no título do Excel?

Como posso copiar uma coluna de uma planilha para outra com base no título do Excel?

Tenho uma planilha de dados que possui muitas colunas que podem mudar de posição. Para facilitar o uso, quero criar uma segunda planilha que mantenha as colunas em uma ordem especificada. Posso contar com que os títulos das colunas permaneçam iguais, então quero copiar as colunas com base no título, ou melhor, a primeira célula da coluna corresponde a uma string.

Como exemplo, três das colunas da folha 1 são

id     name     due date

Mas em outra instância da folha 1 eles podem aparecer como

id     due date     name

Quero que minha segunda planilha especifique que a primeira linha é 'id', a segunda é 'nome' etc. Tentei usar o hlookup, mas só achei útil para preencher uma única célula, arrastar a fórmula não funcionou muito bem para mim. Alguma idéia de como fazer isso usando funções no Excel? Prefiro não usar uma macro, a menos que seja absolutamente necessário.

Responder1

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

À medida que você preenche a fórmula, ROW() atua como um deslocamento para observar a próxima coluna da sua tabela.

Responder2

Eu me deparo com isso com frequência. Uma maneira fácil de resolver isso é fazer com que as colunas retornem à primeira página com deslocamento. Supondo esses dados variáveis ​​na Planilha1, em A1:Q499, depois na Planilha 2, eu colocaria isso na célula B2:

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

Para algo mais sofisticado, você pode colocar proteção de célula em Sheet2, A1:Q1, que permite apenas valores de uma lista, e usar Sheet1 A1:q1 como essa lista.

informação relacionada