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:
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:
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:
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 > ColarEspecial 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:
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:
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.
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.
XLOOKUP() pesquisa em qualquer direção, tem como padrão as correspondências exatas e possui tratamento de erros incorporado, enquanto VLOOKUP() pesquisa somente à direita e precisa de indexação manual de colunas.
Descubra o poder das Expressões Regulares (RegEx) para correspondência de padrões no Excel. Nosso guia abrangente revela como padronizar dados, extrair palavras-chave e realizar manipulações avançadas de texto.
Saiba como selecionar facilmente várias colunas de uma tabela de banco de dados em SQL ou selecionar todas as colunas de uma tabela em uma consulta simples.
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. OVLOOKUPé 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:
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 d1, 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:Digamos que você queira saber o preço de uma banana. Você pode usar:
"Banana"é o valor que você está procurando.A2:B4é o intervalo de dados.2diz ao Excel para pegar o valor da segunda coluna, que é Preço.FALSEsignifica 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: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 usarFALSEpara uma correspondência exata.Use
FALSEpara coisas como nomes, IDs ou códigos de produtos, onde você precisa de uma correspondência exata.Use
TRUEpara 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 usaresTRUE.Vamos ver um exemplo de correspondência aproximada:
Suponha que você tenha esta tabela de taxas de imposto:
Se a tua renda é e
$15,000:O Excel vai achar o valor mais próximo menor ou igual a
15000(que é10000) e vai mostrar15%.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 seutable_arraye 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_numpode 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 recenteXLOOKUP()(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: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: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 oMATCH()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 doVLOOKUP()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 tantoVLOOKUP()quantoINDEX()/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ê useTRUEpararange_lookupou 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.