Pular para o conteúdo principal

VLOOKUP() Excel: O que é e como usar

Encontre dados em tabelas. Procure valores rapidinho. Organize suas informações sem precisar procurar manualmente.
· 7 min leer

Explore com IA

Você já deve ter ouvido falar sobre VLOOKUP(). É uma das funções mais conhecidas (se não a mais conhecida) do Excel. E quando você entender como funciona, vai adorar usar, porque resolve um problema bem complicado e demorado. O VLOOKUP é realmente a maneira da Microsoft de te dar de volta um monte de tempo. 

Neste artigo, vou explicar como funciona o VLOOKUP() e mostrar os usos mais comuns dele. E você sempre pode voltar a este artigo mais tarde se esquecer algum dos argumentos. 

O que faz a função VLOOKUP()?

Agora que já expliquei tudo, vamos ver o que o VLOOKUP() realmente faz. 

Basicamente, VLOOKUP() procura um valor na primeira coluna de uma tabela (ou intervalo de células) e mostra um valor de outra coluna na mesma linha. 

Pense nisso assim: “Encontre esse item na minha lista e me dê outra coisa da mesma linha.”

Tem quatro argumentos importantes que você usa sempre: 

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
  • lookup_value: O valor que você quer procurar.

  • table_array: O intervalo de células que contém seus dados (incluindo a coluna a ser pesquisada e a(s) coluna(s) a ser(em) retornada(s)).

  • col_index_num: O número da coluna (começando d 1, para a coluna mais à esquerda) na tabela_array da qual retornar o valor.

  • [range_lookup]: Opcional. Digite “ FALSE ” pra achar algo exatamente igual (geralmente é isso que você quer) ou “ TRUE ” pra achar algo parecido.

VLOOKUP() é uma função em que você precisa entender esses argumentos. Nem todas as funções são assim, mas a função “ VLOOKUP() ” definitivamente é. 

Excel VLOOKUP() Exemplo básico

Vamos colocar VLOOKUP() em ação. Imagina que você tem uma tabela simples de produtos e preços, tipo assim: 

Exemplo básico do VLOOKUP no Excel

Digamos que você queira saber o preço de uma banana. Você pode usar:

=VLOOKUP("Banana", A2:B4, 2, FALSE)
  • "Banana" é o valor que você está procurando.

  • A2:B4 é o intervalo de dados.

  • 2 diz ao Excel para pegar o valor da segunda coluna, que é Preço.

  • FALSE significa que você quer uma correspondência exata. (Mais sobre esse argumento específico mais tarde. É o que é mais confuso.)

Essa fórmula vai mostrar “ $0.30 ”. 

Agora, codificar o valor de forma rígida nem sempre é a melhor ideia, o que nos leva ao próximo ponto:

VLOOKUP() com referências de células em vez de codificação fixa

Nesse último exemplo, eu codifiquei o valor de pesquisa. Na prática, muitas vezes você vai querer fazer referência a uma célula. Isso deixa sua fórmula dinâmica e reutilizável. Por exemplo, se você digitar “Laranja” na célul D2, você pode usar:

VLOOKUP do Excel com referências de células

=VLOOKUP(D2, A2:B4, 2, FALSE)

Agora, sempre que você mudar o valor em “ D2 ”, a fórmula vai buscar o preço certo e você vai ver que não precisa mexer na fórmula. 

VLOOKUP() Usando exato vs. aproximado Correspondência aproximada

Agora você deve estar se perguntando sobre o quarto argumento, [range_lookup]. Às vezes, isso não importa, mas outras vezes tem um grande impacto nos seus resultados. A regra geral é que, na maioria das vezes, você vai querer usar FALSE para uma correspondência exata.

  • Use FALSE para coisas como nomes, IDs ou códigos de produtos, onde você precisa de uma correspondência exata.

  • Use TRUE para intervalos (pense em faixas de impostos ou escalas de notas) em que você quer o valor mais próximo sem ultrapassar. Só lembra (e isso também é importante): a coluna de pesquisa precisa estar em ordem crescente quando usares TRUE.

Vamos ver um exemplo de correspondência aproximada:

Suponha que você tenha esta tabela de taxas de imposto:

VLOOKUP do Excel com correspondência aproximada

Se a tua renda é e $15,000:

=VLOOKUP(15000, A2:B4, 2, TRUE)

O Excel vai achar o valor mais próximo menor ou igual a 15000 (que é 10000) e vai mostrar 15%.

Mas, de novo, pra maioria das pesquisas, é melhor usar FALSE.

Armadilhas e limitações comuns

Como tudo na vida, o VLOOKUP() tem algumas limitações, para que você não tenha problemas mais tarde. Aqui estão algumas coisas a serem observadas:

  • Só procura da esquerda para a direita. Essa é a grande limitação que me vem à mente. VLOOKUP() sempre procura na primeira coluna do seu table_array e retorna os dados das colunas à direita. Se você precisar procurar dados à esquerda, vai precisar de outra abordagem.

  • O número da coluna é fixo. Se você inserir ou excluir colunas na sua tabela, o col_index_num pode acabar apontando para a coluna errada. Às vezes, se você quebrar alguma coisa, você vai notar uma coluna inteira de erros #N/A, mas outras vezes o problema vai ser mais difícil de perceber. 

  • Pode ser lento com conjuntos de dados grandes. Com tabelas muito grandes, pode haver uma diferença real e perceptível no desempenho. Se você achou o valor que estava procurando e não precisa que a pesquisa seja dinâmica, podecopiar e colar Copiar > Colar Especial para não sobrecarregar sua pasta de trabalho.

Se você tiver esses problemas, dá uma olhada em alternativas como INDEX()+MATCH() ou a função mais recente XLOOKUP() (se estiver disponível na sua versão do Excel). (Vou te ajudar a entender as diferenças entre essas funções mais adiante.)

Tornando suas funções VLOOKUP() mais flexíveis

Agora que você já tá de boa com o básico, vamos deixar suas fórmulas do VLOOKUP() mais flexíveis e fáceis de gerenciar. Um truque legal é usar intervalos nomeados. Por exemplo, selecione “ A2:B4 ”, digite “ProductTable” no campo“ Name ” e agora sua fórmula pode referenciar esse nome:

=VLOOKUP(D2, ProductTable, 2, FALSE)

Isso deixa suas fórmulas bem mais fáceis de ler e manter, principalmente se suas tabelas mudarem de lugar.

Como lidar com erros da função VLOOKUP()

Às vezes, VLOOKUP() não consegue encontrar o valor que você está procurando, resultando em um erro “ #N/A ”. Para organizar as coisas e deixar sua planilha mais fácil de usar, você pode usar IFERROR() para detectar esses erros:

=IFERROR(VLOOKUP(D2, ProductTable, 2, FALSE), "Not found")

Assim, os valores que faltam vão aparecer como “Não encontrado” em vez de uma mensagem de erro, que pode ser meio chata.

VLOOKUP() vs. INDEX()/MATCH() vs. XLOOKUP()

Comecei a falar sobre funções alternativas antes. 

INDEX() E o MATCH() junto com ele são sempre sugeridos, e aqui está o porquê:

  • INDEX()/MATCH() permite que você procure valores em qualquer direção, não só para a direita, que é uma grande limitação do VLOOKUP() que eu falei antes.

  • A coluna que você está procurando não precisa ser a primeira coluna do intervalo.

  • Inserir ou excluir colunas não vai quebrar sua fórmula.

E aqui tá como o XLOOKUP() se compara ao VLOOKUP():

  • XLOOKUP() substitui tanto VLOOKUP() quanto INDEX()/MATCH(), juntando suas funcionalidades em uma fórmula única e mais intuitiva.

  • Você pode olhar para a esquerda, direita, acima ou abaixo.

  • Não precisa que a coluna de pesquisa esteja em uma posição fixa.

  • Você pode definir um valor alternativo se nada for encontrado, evitando o temido erro “ #N/A ” sem precisar usar a correção “ IFERROR() ” que mostrei anteriormente.

Algumas dicas e atalhos

Com base em tudo o que falamos, aqui vão algumas dicas úteis de “ VLOOKUP() ”:

  • Referênciasabsolutassobre o “ ”: Quando copiar sua fórmula, bloqueie sua tabela_array com sinais de $ (por exemplo, $A$2:$B$100) para manter o intervalo constante.

  • Classificação: Para correspondências aproximadas (com TRUE), certifique-se de que a coluna de pesquisa esteja em ordem crescente.

  • Partial :: VLOOKUP() não suporta diretamente curingas para correspondências parciais, a menos que você use TRUE para range_lookup ou aplique soluções alternativas criativas.

Conclusão

Temos mais tutoriais incríveis sobre casos específicos de uso do VLOOKUP(). Dá uma olhada na nossa coleção:

Então, pra ter uma trilha de aprendizagem estruturada e ajudar a colocar tudo isso em um contexto melhor e realmente melhorar suas habilidades, inscreva-se nos nossos cursos Análise de Dados no Excel e Funções Avançadas do Excel. É mesmo a melhor maneira de continuar melhorando no Excel.

Josef Waples

Autor

Josef Waples

Temas

Relacionado