Se você já perdeu tempo contando colunas no PROCV, ou viu a fórmula quebrar porque alguém inseriu uma coluna nova na tabela, a função PROCX resolve esses dois problemas de uma vez. Ela procura um valor em uma coluna (ou linha) e devolve o item correspondente de outra, em qualquer direção, sem número de índice de coluna.
Neste artigo você vai aprender a sintaxe completa do PROCX e aplicá-la em 7 situações reais de planilha: busca simples, busca à esquerda, mensagem para valor não encontrado, retorno de várias colunas, faixas de valores, última ocorrência e pesquisa com curinga.
Resposta rápida: como usar o PROCX
A forma mais simples da função tem três argumentos:
=PROCX(valor_procurado; onde_procurar; o_que_retornar)
Exemplo: para buscar a descrição do produto cujo código está em G2, procurando na coluna A e retornando a coluna B:
=PROCX(G2; A2:A7; B2:B7)
Por padrão, o PROCX faz correspondência exata. Diferente do PROCV, você não precisa digitar FALSO nem 0 no final.
Em quais versões do Excel o PROCX funciona?
O PROCX está disponível no Microsoft 365 (Windows e Mac), no Excel 2021, no Excel 2024, no Excel para a Web e nos aplicativos para celular e tablet. Ele não existe no Excel 2016 nem no Excel 2019: nessas versões, a fórmula retorna o erro #NOME?.
Se a planilha vai circular entre pessoas com versões antigas, prefira o PROCV ou a combinação ÍNDICE + CORRESP.
Sintaxe completa da função PROCX
=PROCX(pesquisa_valor; pesquisa_matriz; matriz_retorno; [se_não_encontrada]; [modo_correspondência]; [modo_pesquisa])
| Argumento | Obrigatório? | O que faz |
|---|---|---|
pesquisa_valor |
Sim | O valor que você quer encontrar (um código, um nome, um número). |
pesquisa_matriz |
Sim | A coluna ou linha onde o valor será procurado. |
matriz_retorno |
Sim | A coluna ou linha (ou várias colunas) de onde vem o resultado. |
se_não_encontrada |
Não | O que exibir quando não houver correspondência. Sem ele, o resultado é #N/D. |
modo_correspondência |
Não | 0 = exata (padrão); -1 = exata ou o próximo item menor; 1 = exata ou o próximo item maior; 2 = caracteres curinga. |
modo_pesquisa |
Não | 1 = do primeiro ao último (padrão); -1 = do último ao primeiro; 2 e -2 = pesquisa binária em dados ordenados. |
A regra mais importante: pesquisa_matriz e matriz_retorno precisam ter o mesmo número de linhas (ou de colunas, numa busca horizontal). Se uma vai de A2:A7 e a outra de B2:B10, o resultado é #VALOR!.
Dados usados nos exemplos
Todos os exemplos abaixo usam dados fictícios. Monte a tabela na aba Produtos, a partir da célula A1:
| A – Código | B – Descrição | C – Categoria | D – Preço | |
|---|---|---|---|---|
| 2 | P-101 | Mouse sem fio | Periféricos | R$ 89,90 |
| 3 | P-102 | Teclado mecânico | Periféricos | R$ 349,00 |
| 4 | P-103 | Monitor 24 pol | Monitores | R$ 899,00 |
| 5 | P-104 | Webcam Full HD | Periféricos | R$ 219,50 |
| 6 | P-105 | Monitor 27 pol | Monitores | R$ 1.299,00 |
| 7 | P-106 | Headset USB | Áudio | R$ 259,90 |
Exemplo 1: busca simples pelo código
Digite P-104 na célula G2 e, em H2, a fórmula:
=PROCX(G2; A2:A7; B2:B7)
Resultado: Webcam Full HD.
O Excel procura P-104 na coluna A, encontra na 5ª linha da tabela e devolve o item da mesma posição na coluna B. Repare que não há número de coluna: se alguém inserir uma coluna entre A e B, a fórmula se ajusta sozinha.
Exemplo 2: busca à esquerda (o que o PROCV não faz)
Agora o caminho inverso: você tem a descrição e quer o código, que está à esquerda. No PROCV isso exigiria reorganizar a tabela. No PROCX, basta inverter os intervalos:
=PROCX("Monitor 27 pol"; B2:B7; A2:A7)
Resultado: P-105.
Exemplo 3: mensagem quando o valor não existe
Sem tratamento, um código inexistente retorna #N/D. Use o 4º argumento para exibir algo mais útil:
=PROCX("P-999"; A2:A7; B2:B7; "Não cadastrado")
Resultado: Não cadastrado.
Isso substitui o antigo SEERRO(PROCV(...); "..."), com uma vantagem: o PROCX só troca o resultado quando o valor não é encontrado. Outros erros (como um intervalo com tamanho errado) continuam visíveis, o que facilita encontrar falhas na planilha.
Exemplo 4: retornar várias colunas de uma vez
Se a matriz_retorno tiver mais de uma coluna, o PROCX devolve todas elas. Em H2:
=PROCX("P-103"; A2:A7; C2:D7)
Resultado: H2 mostra Monitores e I2 mostra 899.
O resultado “se espalha” para a célula ao lado (comportamento de matriz dinâmica). Deixe as células à direita vazias; se houver algo nelas, aparece o erro #DESPEJAR!.
Atenção à compatibilidade: esse recurso depende das matrizes dinâmicas, presentes no Microsoft 365, Excel 2021 e posteriores.
Exemplo 5: faixas de valores (tabela de comissão)
Um uso clássico: encontrar a faixa em que um valor se encaixa. Na aba Comissao, monte:
| A – Venda mínima | B – Comissão | |
|---|---|---|
| 2 | 0 | 2% |
| 3 | 5.000 | 3% |
| 4 | 10.000 | 4% |
| 5 | 20.000 | 5% |
Para uma venda de R$ 12.500, use o modo de correspondência -1 (exata ou o próximo item menor):
=PROCX(12500; A2:A5; B2:B5; ; -1)
Resultado: 4%. Como 12.500 não existe na coluna A, o Excel pega o maior valor menor que ele (10.000).
Dois detalhes:
- O ponto e vírgula duplo (
; ;) pula o argumentose_não_encontrada, que é opcional. - Exatamente 5.000 retorna 3%, e 4.999 retorna 2%, porque a correspondência exata tem prioridade.
Diferente do PROCV com correspondência aproximada, aqui a coluna de pesquisa não precisa estar em ordem crescente no modo de pesquisa padrão. Manter a tabela ordenada continua sendo uma boa prática de leitura.
Exemplo 6: encontrar a última ocorrência
Imagine a aba Vendas com lançamentos em ordem de data:
| A – Data | B – Vendedor | C – Valor | |
|---|---|---|---|
| 2 | 01/10/2026 | Ana | R$ 1.200 |
| 3 | 03/10/2026 | Bruno | R$ 850 |
| 4 | 07/10/2026 | Ana | R$ 640 |
| 5 | 10/10/2026 | Carla | R$ 2.100 |
| 6 | 14/10/2026 | Bruno | R$ 430 |
| 7 | 17/10/2026 | Ana | R$ 975 |
Qual foi a última venda da Ana? O PROCX normalmente para na primeira correspondência (R$ 1.200). Com modo_pesquisa igual a -1, ele procura de baixo para cima:
=PROCX("Ana"; B2:B7; C2:C7; ; 0; -1)
Resultado: R$ 975, a venda de 17/10/2026. Troque C2:C7 por A2:A7 para obter a data dessa venda (formate a célula como data).
Para isso funcionar, os lançamentos precisam estar em ordem cronológica, do mais antigo para o mais recente.
Exemplo 7: pesquisa com curinga
Quando você só conhece o começo do texto, use o modo de correspondência 2, que aceita os curingas * (qualquer sequência de caracteres) e ? (um único caractere):
=PROCX("Teclado*"; B2:B7; D2:D7; "Não encontrado"; 2)
Resultado: 349, o preço do Teclado mecânico.
Se vários itens combinarem com o padrão, o PROCX retorna o primeiro. Com "Monitor*", por exemplo, o resultado seria o preço do Monitor 24 pol.
PROCX x PROCV: diferenças que importam
| PROCV | PROCX | |
|---|---|---|
| Correspondência padrão | Aproximada (precisa informar FALSO) | Exata |
| Buscar à esquerda | Não | Sim |
| Inserir coluna na tabela | Pode quebrar o índice | Não afeta |
| Valor não encontrado | Precisa de SEERRO | Argumento próprio |
| Última ocorrência | Não | Sim (modo_pesquisa -1) |
| Busca horizontal | Precisa do PROCH | Mesma função |
| Compatibilidade | Todas as versões | Microsoft 365, 2021, 2024 e Web |
Erros comuns e como resolver
#N/D
O valor não foi encontrado. Confira espaços extras (use ARRUMAR nos dados), números armazenados como texto e diferenças de grafia. Para exibir uma mensagem amigável, preencha o argumento se_não_encontrada.
#VALOR!
Os intervalos de pesquisa e de retorno têm tamanhos diferentes. Ajuste para que comecem e terminem nas mesmas linhas, por exemplo A2:A7 e B2:B7.
#NOME?
Sua versão do Excel não tem a função PROCX (Excel 2016 ou 2019), ou o nome foi digitado errado.
#DESPEJAR!
O resultado tem mais de uma célula e algo está bloqueando o espaço ao lado ou abaixo. Limpe as células de destino.
Resultado “fixo” ao arrastar a fórmula
Ao copiar a fórmula para outras linhas, trave os intervalos com $: =PROCX(G2; $A$2:$A$7; $B$2:$B$7). Assim só o valor procurado muda. Outra opção é formatar a base como Tabela (Ctrl+Alt+T) e usar referências estruturadas, que crescem automaticamente.
Dica final: quando usar cada argumento
- Cadastros e consultas do dia a dia: só os 3 argumentos obrigatórios, mais
se_não_encontrada. - Tabelas de faixas (comissão, frete, alíquotas):
modo_correspondência=-1. - Histórico e lançamentos:
modo_pesquisa=-1para pegar o mais recente. - Textos parciais:
modo_correspondência=2com curinga.
O PROCX combina muito bem com outras funções que já explicamos aqui no blog, como a função SE e a função SOMASES. Se você ainda trabalha com versões antigas, vale revisar também o nosso guia de PROCV.
Ficou com alguma dúvida ou tem um caso específico na sua planilha? Deixe nos comentários que a gente responde.
Fonte oficial: Função PROCX – Suporte da Microsoft.