cellio

XLOOKUP no Excel: O Guia Definitivo da Função PROCX

Aprenda a usar o XLOOKUP (PROCX) no Excel e Planilhas Google: buscas à esquerda, tratamento de erros integrado e retorno de várias colunas.

Por Ayoub Farid · · 3 min de leitura

O XLOOKUP (chamado de PROCX no Excel em português) substitui o PROCV (VLOOKUP), o PROCH (HLOOKUP) e a maioria das fórmulas com ÍNDICE/CORRESP (INDEX/MATCH) por uma única função muito mais fácil de ler e entender. Se a sua versão do software já conta com esse recurso (Microsoft 365, Excel 2021 ou posterior, Excel para a web) ou se você usa o Planilhas Google (Google Sheets), essa é a principal função de busca para quem quer aprender Excel hoje em dia.

*(Nota: caso o seu Excel esteja em português, utilize o nome PROCX no lugar de XLOOKUP ao digitar as fórmulas).*

Sintaxe

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

Na maioria das vezes, os três primeiros argumentos são tudo o que você precisa:

  • lookup_value: o valor que você está procurando
  • lookup_array: o intervalo ou coluna onde pesquisar
  • return_array: o intervalo ou coluna com o resultado a retornar

Exemplo prático

ABC
1CódigoProdutoPreço
2P-101Espresso2.50
3P-102Latte3.50
4P-103Chá2.00
=XLOOKUP(F2,A2:A4,C2:C4)   → 3.50 para "P-102"

Não precisa contar o número de colunas. A correspondência exata já é o padrão da fórmula.

Tratamento de "não encontrado" integrado

=XLOOKUP(F2,A2:A4,C2:C4,"Not found")

Dispensa o uso da função SEERRO (IFERROR).

Fazer busca para a esquerda

A coluna de retorno pode ficar em qualquer posição da sua planilha:

=XLOOKUP("Latte",B2:B4,A2:A4)   → P-102

O PROCV tradicional não consegue fazer isso sozinho.

Retornar várias colunas de uma só vez

=XLOOKUP(F2,A2:A4,B2:C4)

Retorna o produto e o preço simultaneamente, preenchendo automaticamente duas células vizinhas (efeito de despejo).

Correspondências aproximadas (faixas e intervalos)

Para tabelas de alíquotas de impostos, faixas salariais ou notas escolares, use o match_mode -1 (correspondência exata ou o próximo item menor):

=XLOOKUP(B2,$E$2:$E$5,$F$2:$F$5,,-1)

Diferente do argumento VERDADEIRO do PROCV, seus dados de referência não precisam estar ordenados para isso funcionar.

Encontrar a última correspondência

Definir o search_mode como -1 faz a busca de baixo para cima, ideal para encontrar, por exemplo, o preço mais recente registrado para um item:

=XLOOKUP(F2,A2:A500,C2:C500,,0,-1)

Trave as células antes de arrastar a fórmula para baixo

Vale a mesma regra de ouro das funções de busca: aplique a referência absoluta com o símbolo $ nos intervalos antes de arrastar a fórmula para baixo.

=XLOOKUP(F2,$A$2:$A$500,$C$2:$C$500,"Not found")

Compatibilidade entre versões

O XLOOKUP não está disponível no Excel 2019 nem em versões anteriores. Se você enviar um arquivo para alguém usando uma versão antiga, a célula exibirá o erro #NOME?. Leia nosso comparativo XLOOKUP vs VLOOKUP para avaliar a melhor opção para a sua rotina ou para um teste de Excel para entrevista de emprego.

Pratique o que aprendeu

Fórmulas de busca e pesquisa são módulos indispensáveis no Cellio. Nossos exercícios práticos de Excel trazem desafios com XLOOKUP acompanhados de gabarito detalhado.

Perguntas frequentes

O que é a função XLOOKUP no Excel?

É uma função de pesquisa moderna que busca um valor em uma coluna e retorna o dado correspondente em outra, em qualquer direção, utilizando correspondência exata por padrão. No Excel em português, ela se chama PROCX.

Quais versões do Excel contam com o XLOOKUP?

Microsoft 365, Excel 2021, Excel 2024 e Excel para a web. O recurso também funciona nativamente no Planilhas Google (Google Sheets).

O XLOOKUP é melhor do que o PROCV?

Para a maioria esmagadora das tarefas, sim: dispensa a contagem de colunas, pesquisa para a esquerda, traz correspondência exata por padrão e já inclui tratamento nativo para erros de valores não encontrados.

O XLOOKUP consegue retornar múltiplos valores?

Ele pode retornar várias colunas adjacentes para uma mesma correspondência. Já se você precisa trazer todas as linhas correspondentes da base, use a função FILTER (FILTRO).

Continue lendo