Guia Completo do VLOOKUP
O Que é VLOOKUP e Por Que Ele é Importante
VLOOKUP (Vertical Lookup, ou Busca Vertical) procura um valor na primeira coluna de uma tabela e retorna um valor correspondente de outra coluna. Pense nele como o mecanismo de busca interno do Excel — forneça um ID de produto e obtenha instantaneamente o preço, a categoria ou o nível de estoque. Se você trabalha com relatórios, conciliação ou consolidação de dados, o VLOOKUP economizará horas todas as semanas.
A sintaxe: =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
- lookup_value — a célula que contém o que você está procurando (ex.: ID do produto em A2)
- table_array — todo o intervalo de dados, incluindo tanto a coluna de busca quanto a coluna de resposta
- col_index_num — o número da coluna (contando a partir da borda esquerda do table_array) que contém a resposta
- range_lookup — FALSO para correspondência exata (use em 95% dos casos), VERDADEIRO para aproximada
Passo a Passo: Seu Primeiro VLOOKUP
Vamos trabalhar com um cenário real. Você tem um catálogo de produtos nas colunas B a E e, na coluna A, uma lista de IDs de produtos para pesquisar. O objetivo é trazer os preços do catálogo para a coluna F.
Passo 1 — Configure seus dados
Abra sua planilha e verifique a estrutura dos dados:
- Vá até a planilha do catálogo de produtos. Confirme que a coluna B contém os IDs dos Produtos e a coluna D contém os Preços.
- Certifique-se de que não haja linhas completamente vazias dentro do intervalo do catálogo. O Excel trata uma linha em branco como o fim dos dados, o que pode fazer o VLOOKUP ignorar as linhas abaixo dela.
- Selecione o intervalo do catálogo (B2:E500) e pressione Ctrl+T para convertê-lo em uma Tabela do Excel. Nomeie-a como
Catalogona guia Design da Tabela. As tabelas se expandem automaticamente e oferecem referências estruturadas.
Passo 2 — Escreva a fórmula na primeira célula de resultado
- Clique na célula F2 (a primeira linha abaixo de "Lookup Result").
- Digite
=VLOOKUP(— o Excel exibe uma dica de ferramenta com os quatro argumentos. Use-a como referência enquanto digita. - Clique na célula A2 para o lookup_value. O Excel insere
A2na sua fórmula. - Digite uma vírgula e então selecione todo o intervalo do catálogo B2:E500 com o mouse. Pressione imediatamente F4 para travar a referência — ela agora deve aparecer como
$B$2:$E$500. Essa referência absoluta impede que o intervalo se desloque ao copiar a fórmula para baixo. - Digite uma vírgula e então digite 3 para col_index_num. Por que 3? Preço é a terceira coluna contando a partir da borda esquerda de B2:E500: B=1, C=2, D=3.
- Digite uma vírgula e então digite FALSO para correspondência exata.
- Feche os parênteses e pressione Enter.
Sua fórmula completa deve ficar assim: =VLOOKUP(A2, $B$2:$E$500, 3, FALSE)
Passo 3 — Copie a fórmula para baixo na coluna
- Clique na célula F2 para selecioná-la. Você verá um pequeno quadrado verde (a alça de preenchimento) no canto inferior direito da seleção.
- Dê um duplo clique na alça de preenchimento. O Excel preenche automaticamente a fórmula para baixo, acompanhando os dados da coluna A.
- Alternativamente, selecione F2, pressione Ctrl+Shift+Seta para Baixo para estender a seleção até a última linha e então pressione Ctrl+D (preencher para baixo).
- Verifique algumas linhas por amostragem: clique em F5 e observe a barra de fórmulas. Deve aparecer
=VLOOKUP(A5, $B$2:$E$500, 3, FALSE)— note que A5 mudou (referência relativa), mas $B$2:$E$500 permaneceu igual (referência absoluta).
Passo 4 — Trate valores ausentes com IFERROR
Erros #N/A fazem os relatórios parecerem quebrados. Vamos envolver a fórmula para exibir uma mensagem amigável em vez disso:
- Dê um duplo clique na célula F2 para editar a fórmula.
- Clique logo antes de
=VLOOKUPe digite=IFERROR(. - Vá até o final da fórmula (após o parêntese de fechamento do VLOOKUP), digite uma vírgula e então
"Não encontrado no catálogo"). - Pressione Enter. A fórmula agora é:
=IFERROR(VLOOKUP(A2, $B$2:$E$500, 3, FALSE), "Não encontrado no catálogo") - Dê um duplo clique na alça de preenchimento de F2 novamente para copiar essa fórmula melhorada para baixo.
- A linha 4 agora exibe "Não encontrado no catálogo" em vez do desagradável #N/A.
Técnicas Fundamentais e Boas Práticas
Técnica 1 — Use Intervalos Nomeados para Fórmulas Autodocumentadas
Fórmulas com referências enigmáticas como $B$2:$E$500 são difíceis de entender semanas depois. Intervalos nomeados resolvem isso:
- Selecione o intervalo B2:E500. Clique na Caixa de Nome (o campo à esquerda da barra de fórmulas que normalmente mostra o endereço da célula).
- Digite
TabelaCatalogoe pressione Enter. Agora seu intervalo tem um nome. - Reescreva o VLOOKUP como:
=IFERROR(VLOOKUP(A2, TabelaCatalogo, 3, FALSE), "Não encontrado") - Qualquer pessoa que leia essa fórmula saberá imediatamente que TabelaCatalogo é a fonte da busca — sem precisar rastrear referências de células.
Técnica 2 — Índice de Coluna Dinâmico com MATCH
Colocar 3 fixo como col_index_num quebra a fórmula quando você insere ou exclui colunas. Em vez disso, deixe o MATCH encontrar o número da coluna correta automaticamente:
- Suponha que a linha 1 (B1:E1) contenha os cabeçalhos: "ID do Produto", "Nome do Produto", "Preço", "Categoria".
- Substitua o
3fixo por:MATCH("Preço", $B$1:$E$1, 0) - Fórmula completa:
=IFERROR(VLOOKUP(A2, TabelaCatalogo, MATCH("Preço", $B$1:$E$1, 0), FALSE), "Não encontrado") - Agora, se alguém inserir uma coluna "Fornecedor" entre C e D, Preço passa da coluna 3 para a coluna 4 — mas o MATCH a encontra automaticamente, então sua fórmula continua funcionando.
Técnica 3 — O Truque VLOOKUP + COLUMN para Retornos de Múltiplas Colunas
Quando você precisa extrair Nome do Produto, Preço E Categoria para cada ID pesquisado:
- Em F2 (Nome):
=IFERROR(VLOOKUP($A2, TabelaCatalogo, 2, FALSE), "") - Em G2 (Preço):
=IFERROR(VLOOKUP($A2, TabelaCatalogo, 3, FALSE), "") - Em H2 (Categoria):
=IFERROR(VLOOKUP($A2, TabelaCatalogo, 4, FALSE), "") - Observe
$A2— o cifrão trava a referência da coluna em A, mas a linha (2) se ajusta quando você copia para baixo. Isso permite copiar as três fórmulas para a direita e para baixo de uma só vez.
Erros Comuns (E Como Corrigi-los Imediatamente)
- Erro: VLOOKUP retorna #N/A mesmo quando os dados claramente estão lá.
Correção: Seu valor de busca e a primeira coluna da tabela têm tipos de dados diferentes. "00123" (texto) ≠ 123 (número). Selecione a coluna de busca, vá em Dados > Texto para Colunas > Concluir para converter textos-numéricos em números reais. Ou envolva seu lookup_value emTEXT(A2, "00000"). - Erro: A fórmula funciona na linha 2, mas quebra ao copiar para a linha 3.
Correção: Você esqueceu de travar o table_array com cifrões. Edite F2, selecioneB2:E500dentro da fórmula e pressione F4. Deve ficar$B$2:$E$500. - Erro: VLOOKUP retorna o valor errado — parece quase correto, mas ligeiramente diferente.
Correção: Você omitiu o quarto argumento. Sem FALSO, o VLOOKUP usa correspondência aproximada por padrão. Ele encontra o valor mais próximo em uma lista ordenada, que pode não ser a correspondência exata desejada. Sempre digite FALSO explicitamente. - Erro: Inseriu uma coluna no catálogo e agora todos os VLOOKUPs estão quebrados.
Correção: Use a técnica MATCH descrita acima para tornar o col_index_num dinâmico. Se já quebrou, use Localizar e Substituir (Ctrl+H) para atualizar os números das colunas em lote. - Erro: VLOOKUP retorna apenas a primeira correspondência quando há duplicatas.
Correção: VLOOKUP sempre retorna a primeira ocorrência na coluna de busca. Se precisar de todas as correspondências, migre para INDEX-MATCH com fórmula matricial SMALL/IF, ou atualize para XLOOKUP, que pode retornar a última correspondência.
Dicas Avançadas para Usuários Avançados
- Busca bidimensional com VLOOKUP + MATCH:
=VLOOKUP(A2, Tabela, MATCH("T3", Cabecalhos, 0), FALSE)permite buscar tanto a linha (produto) quanto a coluna (trimestre). Altere "T3" para "T4" em um único lugar e obtenha os dados do próximo trimestre. - Correspondência parcial com curingas:
=VLOOKUP("*"&A1&"*", Tabela, 2, FALSE)encontra linhas onde a célula contém o texto em A1, mesmo que esteja no meio de uma string mais longa. Útil para pesquisar descrições de produtos. - Busca em coluna invertida com CHOOSE: Precisa pesquisar uma coluna à direita e retornar de uma coluna à esquerda?
=VLOOKUP(A2, CHOOSE({1,2}, D2:D100, A2:A100), 2, FALSE)inverte virtualmente as colunas para que o VLOOKUP veja a coluna de busca primeiro. - Quando migrar para XLOOKUP: Se você usa Excel 2021 ou Microsoft 365, o XLOOKUP elimina todas as limitações acima — busca da esquerda para direita, da direita para esquerda, correspondência exata por padrão e tratamento de erros integrado. A sintaxe:
=XLOOKUP(A2, ColunaBusca, ColunaRetorno, "Não encontrado"). Vale a pena aprender se sua versão do Excel for compatível.