Indireto com vlookup no excel
Se você quiser usar VLOOKUP e os dados que deseja pesquisar estiverem em planilhas diferentes, você pode combiná-los com INDIRETO. Ajuda a definir vários intervalos em uma única fórmula.
No exemplo acima, temos dados mensais em três planilhas diferentes. Mas com apenas um VLOOKUP + INDIRETO você consegue obter a quantidade de todos os produtos de todos os meses em várias planilhas.
=VLOOKUP($A2,INDIRECT("'"&B$1&"'!"&"A:B"),2,FALSE)
Para entender esta fórmula, é necessário dividi-la em duas partes:
Na primeira parte, temos a função INDIRETO, que cria uma referência para a planilha utilizando o nome da linha 1. No exemplo abaixo, referenciamos o intervalo A:B da planilha Jan.
Você precisa criar uma estrutura em INDIRETO para referenciar a planilha com o nome e intervalo onde estão os dados.
=INDIRECT("'"&B$1&"'!"&"A:B")
Depois de mover a fórmula para a coluna Fev, a referência em INDIRETO passa para a planilha Fev.
Na segunda parte, VLOOKUP usa o endereço do intervalo da tabela retornado por INDIRETO e obtém seus valores com base no col_index_num especificado no intervalo.
Ponto importante
Na fórmula acima, você precisa da estrutura correta para fazer referência a um intervalo com o nome da planilha. Se você inserir a estrutura abaixo em INDIRETO:
"'"&B$1&"'!"&"A:B"
Ele vai voltar:
"'Jan'!A:B"
Método alternativo
INDIRETO é uma função volátil. Ele é atualizado quando há uma alteração na planilha. É por isso que você pode considerar usar CHOOSE. Por exemplo, com CHOOSE você pode escrever três fórmulas usando VLOOKUP.
=CHOOSE(B$1,VLOOKUP($A2,Jan!$A:$B,2,0),VLOOKUP($A2,Feb!$A:$B,2,0),VLOOKUP($A2,Mar!$A:$B,2,0))
Nessa fórmula, como falei, temos três VLOOKUPs, e quando com o ESCOLHER você pode decidir obter o resultado de qualquer uma das VLOOKUPs
No ESCOLHER nos referimos ao B1; Na linha 1 você tem números de índice para usar para obter o valor da fórmula de SELECT.
Por exemplo, quando você tiver 2, CHOOSE retornará o valor do segundo VLOOKUP; do terceiro, existem 3.