CoreGPT
Microsoft 36512 min de leitura

XLOOKUP vs VLOOKUP (PROCX x PROCV): diferenças, exemplos e qual usar

XLOOKUP e VLOOKUP (PROCX e PROCV no Excel em português) comparados lado a lado com a mesma tabela de exemplo: sintaxe, busca à esquerda, correspondência exata, valores não encontrados, colunas inseridas, versões antigas do Excel e como converter suas fórmulas PROCV.

XLOOKUP vs VLOOKUP (PROCX x PROCV): diferenças, exemplos e qual usar

Na escolha entre XLOOKUP e VLOOKUP (no Excel em português, PROCX e PROCV), use o XLOOKUP se todas as pessoas que abrirem o arquivo tiverem o Excel do Microsoft 365, o Excel 2021 ou posterior ou o Excel na web. Ele faz tudo o que o VLOOKUP faz com menos erros: usa correspondência exata por padrão, consegue buscar para a esquerda e não quebra quando você insere uma coluna. Use o VLOOKUP apenas quando a pasta de trabalho precisar funcionar no Excel 2019 ou anterior.

Essa compatibilidade é a principal ressalva. O XLOOKUP não existe no Excel 2016 nem no 2019, então um arquivo cheio de fórmulas XLOOKUP mostra erros #NOME? (#NAME? em inglês) para quem ainda usa essas versões.

Como ler as fórmulas deste artigo. O Excel em português traduz os nomes das funções e usa ponto e vírgula (;) para separar os argumentos. Por isso, as fórmulas aparecem na forma do Excel em português, com a forma em inglês ao lado na primeira vez que cada uma é mostrada. Equivalências: PROCV (VLOOKUP), PROCX (XLOOKUP), PROCH (HLOOKUP), ÍNDICE (INDEX), CORRESP (MATCH), SEND (IFNA), SEERRO (IFERROR), ARRUMAR (TRIM), FILTRAR (FILTER), ÚNICO (UNIQUE), CORRESPX (XMATCH), FALSO (FALSE), VERDADEIRO (TRUE). Se você usa o Excel em inglês, escreva os nomes em inglês e troque ; por ,. Os nomes dos argumentos (como if_not_found e match_mode) aparecem em inglês, como na documentação. Os dados de exemplo também ficam em inglês, para coincidir com as imagens.

VLOOKUP (PROCV)XLOOKUP (PROCX)
Busca à esquerda (retorna uma coluna à esquerda da coluna de pesquisa)NãoSim
Tipo de correspondência padrãoAproximada (a menos que você adicione FALSO)Exata
Sobrevive à inserção ou exclusão de colunasNão, o número da coluna fica fixoSim, os intervalos se ajustam
Mensagem personalizada de "não encontrado"Precisa de SEND ou SEERRONativa (if_not_found)
Retorna várias colunas de uma vezNão com facilidadeSim, os resultados são derramados
Busca do último resultado para cimaNãoSim (search_mode -1)
Correspondência aproximadaOs dados precisam estar em ordem crescentePróximo menor ou maior, sem precisar classificar
Curingas (*, ?)Sim, com correspondência exataSim, com match_mode 2
Pesquisas horizontaisNão, para isso existe o PROCHSim, a mesma função
VelocidadeSem diferença prática em pastas de trabalho comunsA mesma, além de pesquisa binária opcional em dados classificados
Disponível emTodas as versões do ExcelMicrosoft 365, Excel 2021, Excel 2024, Excel na web, aplicativos para celular

A sintaxe lado a lado

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

(A mesma sintaxe no Excel em português: =PROCV(...; ...; ...; ...) e =PROCX(...; ...; ...; ...; ...; ...), na mesma ordem de argumentos.)

A grande diferença está em como você diz ao Excel onde está a resposta. O VLOOKUP recebe uma tabela inteira e um número de coluna contado a partir da borda esquerda dessa tabela. O XLOOKUP recebe dois intervalos separados: a coluna onde pesquisar e a coluna da qual retornar.

A mesma pesquisa escrita das duas formas

Aqui está uma pequena lista de produtos em A1:D6, com um ID de produto digitado em G2:

ABCD
1Product IDProductCategoryPrice
2P-101Wireless MouseAccessories$24.99
3P-102USB-C HubAccessories$39.50
4P-103Laptop StandOffice$45.00
5P-104Webcam HDVideo$59.00
6P-105Desk LampOffice$32.75

Para encontrar o preço de P-104:

=PROCV(G2; A2:D6; 4; FALSO)
=PROCX(G2; A2:A6; D2:D6)

(Em inglês: =VLOOKUP(G2, A2:D6, 4, FALSE) e =XLOOKUP(G2, A2:A6, D2:D6))

Ambas retornam $59.00. O PROCV pesquisa a primeira coluna de A2:D6 e retorna a 4ª coluna; FALSO força uma correspondência exata. O PROCX pesquisa A2:A6 e retorna a célula correspondente de D2:D6, com a correspondência exata como padrão.

Planilha do Excel com uma tabela de produtos em A1:D6, o ID P-104 em G2, uma fórmula PROCV em G4 e a fórmula =PROCX(G2;A2:A6;D2:D6) em G5, ambas retornando $59.00, com a linha de Webcam HD destacada

Se você for copiar a fórmula para baixo em uma coluna, trave a tabela com referências absolutas, por exemplo =PROCX(G2; $A$2:$A$6; $D$2:$D$6). Pressione F4 no Windows ou Cmd+T no Mac com o cursor dentro de uma referência para adicionar os sinais $.

As duas armadilhas clássicas do PROCV

1. Esquecer o FALSO (ou 0)

O último argumento do PROCV é opcional e, quando você o omite, o Excel usa correspondência aproximada. Com a correspondência aproximada, o PROCV presume que a primeira coluna está classificada e retorna o valor mais próximo que seja menor ou igual ao que você procurou, sem nenhum aviso.

Experimente =PROCV("P-110"; A2:D6; 4) na tabela acima. P-110 não existe, mas, em vez de #N/D (#N/A em inglês), você recebe $32.75, o preço de P-105, porque "P-105" é o valor menor mais próximo. Em dados não classificados, os resultados podem ser ainda mais aleatórios.

Termine sempre um PROCV de correspondência exata com FALSO ou 0. O PROCX evita o problema porque usa correspondência exata, a menos que você peça outra coisa.

2. O número de coluna fixo no código

O 4 na fórmula do PROCV é apenas um número. Se alguém inserir uma coluna Supplier (fornecedor) entre Product e Category, a tabela passa a ser A:E, o preço vai para a coluna E e a fórmula continua retornando a 4ª coluna, que agora é Category. Você veria "Video" em vez de $59.00.

O PROCX aponta para a própria coluna de preço (D2:D6), então o Excel a atualiza para E2:E6 automaticamente e a resposta continua correta.

O que o XLOOKUP faz e o VLOOKUP não faz

Buscar à esquerda

O PROCV só consegue retornar colunas à direita da coluna de pesquisa. O PROCX não se importa com a direção. Para encontrar o ID do produto a partir do nome do produto em G2:

=PROCX(G2; B2:B6; A2:A6)

(Em inglês: =XLOOKUP(G2, B2:B6, A2:A6))

Com "Desk Lamp" em G2, isso retorna P-105, mesmo que a coluna A esteja à esquerda da coluna B.

Planilha do Excel em que G2 contém Desk Lamp e a fórmula =PROCX(G2;B2:B6;A2:A6) em G4 retorna P-105 da coluna A, à esquerda da coluna Product, com uma seta de Desk Lamp para P-105

Mostrar uma mensagem amigável quando nada é encontrado

=PROCX(G2; A2:A6; D2:D6; "Não encontrado")

O equivalente com PROCV precisa de um envoltório: =SEND(PROCV(G2; A2:D6; 4; FALSO); "Não encontrado") (em inglês: =IFNA(VLOOKUP(G2, A2:D6, 4, FALSE), "Not found")).

Retornar várias colunas em uma só fórmula

=PROCX(G2; A2:A6; B2:D6)

Para P-104, isso derrama Webcam HD, Video e $59.00 em três células lado a lado. Deixe essas células vazias, ou você terá um erro #DERRAMAMENTO! (#SPILL! em inglês).

Encontrar a última correspondência em vez da primeira

Em um registro em que o mesmo cliente aparece muitas vezes, defina search_mode como -1 para pesquisar de baixo para cima e obter a entrada mais recente:

=PROCX(G2; A2:A500; C2:C500; "Não encontrado"; 0; -1)

Correspondência aproximada sem classificar

Para preços escalonados ou faixas de comissão, a correspondência aproximada do PROCV só funciona se a primeira coluna estiver em ordem crescente. O match_mode -1 do PROCX (correspondência exata ou o próximo item menor) e o 1 (correspondência exata ou o próximo item maior) não precisam de dados classificados. Com os valores mínimos de pedido em J2:J5 e os descontos em K2:K5:

=PROCV(B2; J2:K5; 2; VERDADEIRO)
=PROCX(B2; J2:J5; K2:K5; ; -1)

Curingas

Ambos aceitam * e ?, mas o PROCX precisa de match_mode 2 para tratá-los como curingas:

=PROCV("Desk*"; B2:D6; 3; FALSO)
=PROCX("Desk*"; B2:B6; D2:D6; ; 2)

Ambos retornam $32.75 para Desk Lamp.

ÍNDICE/CORRESP: a alternativa clássica

Antes do XLOOKUP, a solução padrão para os limites do VLOOKUP era ÍNDICE (INDEX) com CORRESP (MATCH). Ela busca à esquerda, sobrevive a colunas inseridas e funciona em todas as versões do Excel, o que a torna a melhor escolha para arquivos que precisam abrir no Excel 2019 ou anterior:

=ÍNDICE(D2:D6; CORRESP(G2; A2:A6; 0))
=ÍNDICE(A2:A6; CORRESP(G2; B2:B6; 0))

(Em inglês: =INDEX(D2:D6, MATCH(G2, A2:A6, 0)))

A primeira retorna o preço do ID em G2; a segunda é o exemplo de busca à esquerda. O 0 no CORRESP significa correspondência exata e, como o FALSO do PROCV, é fácil de esquecer. O PROCX é simplesmente a versão mais curta e mais segura da mesma ideia.

Como converter fórmulas PROCV em PROCX

Não existe um conversor nativo, mas a tradução é mecânica:

  1. Encontre seus PROCV: pressione Ctrl+F (Cmd+F no Mac; no Excel em português, normalmente Ctrl+L), digite PROCV, clique em Opções se as configurações extras estiverem ocultas, defina Examinar como Fórmulas e clique em Localizar Tudo.
  2. Mantenha o primeiro argumento (o valor procurado) como está.
  3. Substitua a tabela pela sua primeira coluna como lookup_array.
  4. Substitua o número da coluna pela coluna correspondente como return_array. A coluna 5 de uma tabela que começa na coluna A é a coluna E.
  5. Elimine o FALSO. Se o original terminava em VERDADEIRO ou não tinha o último argumento, adicione match_mode -1 para manter o comportamento de "próximo menor".

Por exemplo:

=PROCV(A2; Products!$A$2:$F$500; 5; FALSO)
=PROCX(A2; Products!$A$2:$A$500; Products!$E$2:$E$500)

Teste alguns resultados com a fórmula antiga antes de converter uma planilha inteira. Os PROCV de correspondência aproximada em dados não classificados podem ter retornado valores errados desde sempre, então as respostas do PROCX podem legitimamente ser diferentes.

O que acontece quando um arquivo com XLOOKUP abre no Excel 2016 ou 2019

A pasta de trabalho abre, mas essas versões não conhecem a função. Na barra de fórmulas, ela aparece como =_xlfn.XLOOKUP(...). No início, as células ainda podem mostrar os últimos resultados salvos, mas, assim que a fórmula é recalculada, ela retorna #NOME?.

Se você compartilha arquivos com pessoas que usam versões antigas:

  • Use ÍNDICE/CORRESP ou PROCV no lugar, ou
  • Envie uma cópia com os resultados colados como valores (Copiar → Colar Especial → Valores).

O mesmo vale para outras funções mais novas, como FILTRAR, ÚNICO e CORRESPX.

XLOOKUP no Google Sheets

O Google Sheets também tem o XLOOKUP, com a mesma ordem de argumentos: =XLOOKUP(search_key, lookup_range, result_range, [missing_value], [match_mode], [search_mode]). As fórmulas deste artigo funcionam lá como estão escritas (com os nomes em inglês), então o XLOOKUP é uma escolha segura para arquivos que circulam entre o Excel e o Sheets.

Por que sua pesquisa retorna #N/D ou o valor errado

  • Espaços extras. "P-104 " com um espaço no final não corresponde a "P-104". Limpe os dados com ARRUMAR.
  • Números armazenados como texto. Um ID digitado como texto não corresponde ao mesmo ID armazenado como número. Procure o triângulo verde no canto da célula e converta a coluna para um único tipo.
  • FALSO ausente no PROCV. Você recebe uma resposta plausível, mas errada, em vez de #N/D.
  • Intervalos que mudaram ao copiar a fórmula. Use referências absolutas com $ para a tabela de pesquisa.
  • #REF! do PROCV. O número da coluna é maior do que o número de colunas da tabela.
  • #VALOR! do PROCX (#VALUE! em inglês). Os intervalos de pesquisa e de retorno têm tamanhos diferentes, por exemplo A2:A6 e D2:D60.
  • #NOME? O nome da função está escrito errado ou o arquivo está aberto em uma versão sem XLOOKUP.

Perguntas frequentes

O XLOOKUP é melhor que o VLOOKUP? Sim, para quase todos os usos. Ele usa correspondência exata por padrão, busca em qualquer direção, não quebra quando as colunas mudam de lugar e trata valores não encontrados sem precisar de um envoltório. A única vantagem real do VLOOKUP é funcionar em todas as versões do Excel.

O XLOOKUP é mais rápido que o VLOOKUP? Em pastas de trabalho do dia a dia, você não nota diferença. Em listas classificadas muito grandes, os modos de pesquisa binária do XLOOKUP (search_mode 2 ou -2) podem acelerar, mas retornam resultados errados se os dados não estiverem classificados.

Por que o XLOOKUP mostra #NOME? no meu computador? Sua versão do Excel não inclui o XLOOKUP. Ele está no Microsoft 365, no Excel 2021 e posteriores e no Excel na web, mas não no Excel 2019 nem no 2016. Use ÍNDICE/CORRESP.

O XLOOKUP também substitui o HLOOKUP (PROCH)? Sim. Se os intervalos de pesquisa e de retorno forem linhas em vez de colunas, o XLOOKUP pesquisa na horizontal com a mesma sintaxe.

O XLOOKUP consegue retornar todas as correspondências, não só a primeira? Não, ele retorna uma correspondência (ou uma linha de colunas). Para obter todas as linhas correspondentes, use FILTRAR, por exemplo =FILTRAR(A2:D6; C2:C6="Office") (em inglês: =FILTER(A2:D6, C2:C6="Office")).

Ainda vale a pena aprender o VLOOKUP? Vale a pena reconhecê-lo, porque você o encontrará em pastas de trabalho e modelos antigos. Para fórmulas novas, aprenda o XLOOKUP e tenha o ÍNDICE/CORRESP em mente para arquivos que precisam abrir em versões antigas do Excel.

Deixe a IA escrever a pesquisa para você

As fórmulas de pesquisa são onde pequenos detalhes, como um FALSO ausente ou um intervalo deslocado, causam mais erros silenciosos. O CoreGPT for Excel permite descrever o que você precisa, como "encontre o preço do ID de produto em G2" ou "marque cada linha como acima ou abaixo da meta", e escreve a fórmula na sua planilha com uma breve explicação. É grátis para começar e funciona no Excel para Windows, Mac e na web.

Experimente: CoreGPT for Excel

Leia também:

Continue lendo

Microsoft 365

Como congelar painéis no Excel (linhas, colunas ou ambas)

Trave a linha superior, a primeira coluna ou várias linhas e colunas ao mesmo tempo para manter os cabeçalhos visíveis enquanto você rola a planilha, no Excel para Windows, Mac, na web e no celular, e saiba o que fazer quando Congelar Painéis está esmaecido.

Leia mais
Microsoft 365

Como mesclar células no Excel (e combinar textos sem perder dados)

Mescle células no Excel com Mesclar e Centralizar e suas outras opções, combine o texto de várias células sem perder nada e use Centralizar na seleção quando você quiser o visual de células mescladas, mas com classificação e filtros funcionando.

Leia mais