Como fazer PROCX no Excel

Excel · 5 min de leitura

Em resumo

A PROCX substitui a PROCV: =PROCX(valor_procurado; coluna_de_busca; coluna_de_retorno; "se não encontrar") busca em qualquer direção, é exata por padrão e já trata o valor que não existe. Ela está disponível no Excel do Microsoft 365 e nas versões mais recentes do Excel.

Como fazer PROCX no Excel

O PROCV resolve muita coisa, mas tem limitações conhecidas: só procura na primeira coluna, só devolve dados que estão à direita, e quando não encontra mostra #N/D. Para contornar, a gente combina ÍNDICE com CORRESP e envolve tudo num SEERRO. O PROCX junta todas essas soluções numa função só: procura em qualquer coluna, devolve de qualquer lado, já tem o "se não encontrar" embutido e ainda pesquisa de baixo para cima.

Neste guia você vai ver os seis argumentos do PROCX com o mesmo exemplo que o PROCV não conseguia resolver: buscar o nome de um cliente a partir do código, com o nome à esquerda.

Caso prefira aprender por vídeo, veja o vídeo abaixo:

O que você vai aprender

  • O que o PROCV não faz e o PROCX faz;
  • Os seis argumentos do PROCX;
  • Como tratar códigos que não existem na base;
  • Quando pesquisar do último para o primeiro;
  • Uma comparação lado a lado de PROCV, ÍNDICE + CORRESP e PROCX.

Esta é a sétima aula da série sobre PROCV, e a planilha da série está disponível para download logo abaixo do vídeo.

O problema que o PROCV não resolve

O PROCV procura um valor de cima para baixo na primeira coluna do intervalo e devolve algo de uma coluna à direita. No exemplo, a base tem o nome do cliente numa coluna e o código do cliente em outra, à direita do nome. Você tem o código e quer o nome. O PROCV não consegue, porque o retorno está à esquerda da coluna pesquisada.

A solução clássica é a dupla ÍNDICE + CORRESP, vista na aula anterior da série. O PROCX faz o mesmo de forma mais simples.

Disponibilidade

O PROCX existe no Excel do Microsoft 365 e no Excel 2021 em diante (e no Excel para a web). Se ao digitar =PROCX( a função não aparecer, sua versão não tem esse recurso.

A sintaxe

=PROCX(pesquisa_valor; pesquisa_matriz; matriz_retorno; [se_não_encontrada]; [modo_correspondência]; [modo_pesquisa])
ArgumentoO que éNo exemplo
pesquisa_valorO que você está procurandoO código do cliente (C3)
pesquisa_matrizOnde procurarA coluna de códigos da base
matriz_retornoO que devolverA coluna de nomes, à esquerda ou à direita
se_não_encontradaO que mostrar se não achar"Não consta na base"
modo_correspondênciaExata ou aproximada0 (exata)
modo_pesquisaOrdem da busca1 (do primeiro ao último)

Passo a passo

  1. Na célula de resultado, digite =PROCX(;
  2. Clique no código que você quer procurar (C3) e digite ponto e vírgula;
  3. Selecione a coluna de códigos da base: clique na primeira célula, pressione Ctrl + Shift + seta para baixo e depois F4 para travar a referência. Ponto e vírgula;
  4. Selecione a coluna de nomes do mesmo jeito, com F4. Ponto e vírgula;
  5. Digite "Não consta na base". Ponto e vírgula;
  6. Digite 0 para correspondência exata. Ponto e vírgula;
  7. Digite 1 para pesquisar do primeiro ao último, feche o parêntese e dê Enter.
=PROCX(C3;$H$3:$H$50;$G$3:$G$50;"Não consta na base";0;1)

Resultado: Nicolas Almeida, o mesmo que a aula anterior obteve com ÍNDICE + CORRESP, agora com uma função só. Dê duplo clique na alça de preenchimento para replicar: cada código ganha seu nome, e o código 15448, que não existe na base, mostra "Não consta na base".

O F4 é importante: ele trava as colunas da base com cifrões para que, ao arrastar a fórmula, só o código procurado mude.

Os argumentos opcionais em detalhe

se_não_encontrada

Substitui o SEERRO. Em vez de #N/D, aparece o texto que você escolher, ou um zero, ou uma célula vazia ("").

modo_correspondência

ValorComportamento
0 (padrão)Correspondência exata
-1Exata ou o próximo item menor (faixas, como tabela de comissão)
1Exata ou o próximo item maior
2Caracteres curinga (* e ?)

Diferente do PROCV, que tem VERDADEIRO como padrão e por isso exige o FALSO no fim, o PROCX já é exato por padrão.

modo_pesquisa

ValorComportamento
1 (padrão)Do primeiro ao último (de cima para baixo)
-1Do último ao primeiro (de baixo para cima)
2 e -2Pesquisa binária, em dados ordenados (muito rápida em bases grandes)

O -1 é ótimo em bases de registros, como contratos ou atendimentos, em que o mesmo cliente aparece várias vezes e você quer o registro mais recente, que está no fim da lista.

PROCV x ÍNDICE + CORRESP x PROCX

PROCVÍNDICE + CORRESPPROCX
Retornar à esquerdaNãoSimSim
Exato por padrãoNão (precisa do FALSO)Não (precisa do 0)Sim
Tratar "não encontrado"Precisa de SEERROPrecisa de SEERROEmbutido
Inserir coluna na base quebra?Pode quebrar (número da coluna fixo)NãoNão
Pesquisar de baixo para cimaNãoNãoSim
VersõesTodasTodasMicrosoft 365 / 2021+

Quando o arquivo vai ser aberto em versões antigas do Excel, prefira PROCV ou ÍNDICE + CORRESP. Nos demais casos, o PROCX é a escolha mais simples e segura.

Perguntas frequentes

Qual a diferença entre PROCV e PROCX?

O PROCX procura em qualquer coluna e devolve de qualquer lado, é exato por padrão, trata o "não encontrado" e pesquisa nos dois sentidos.

O PROCX não aparece no meu Excel. Por quê?

Ele só existe no Microsoft 365 e no Excel 2021 em diante.

Como o PROCX trata valores não encontrados?

Pelo quarto argumento, se_não_encontrada. Ex.: "Não consta na base".

Como pegar o registro mais recente com PROCX?

Use o modo de pesquisa -1, que procura do último para o primeiro.

Conclusão

O PROCX reúne o que a série mostrou com PROCV, ÍNDICE, CORRESP e SEERRO: busca em qualquer direção, exata por padrão e com tratamento para o que não existe. Baixe a planilha da série e refaça o exemplo. Para outro ângulo da função, veja também o guia função PROCX no Excel, e para o tratamento de erros, função SEERRO.

Bons estudos e até o próximo conteúdo! 🚀

Quer dominar o Excel do básico ao avançado? Conheça o curso de Excel online da Atuar: 278 aulas, certificado e monitoria 24h com IA.

Continue aprendendo