Logos InstitutoÁgora revista
Ensaio de capa

PROCX: seis perguntas para a mesma tabela

Uma tabela de quatro colunas e seis perguntas cada vez mais difíceis. Um exercício progressivo com o PROCX, do Excel, e o que ele resolve que o PROCV não resolvia.

Notebook com uma planilha colorida na tela e mãos anotando num caderno ao lado de uma calculadora
Foto: Mikhail Nilov / Pexels (Licença Pexels)

Uma tabela de quatro colunas: código, produto, setor e preço. É a matéria-prima deste ensaio, e ela vai complicar a vida de quem a consulta seis vezes seguidas, cada vez com uma pergunta um pouco mais difícil. A cada passo, a mesma ferramenta resolve: o PROCX do Excel.

O que é o PROCX? É a função de procura do Excel que localiza um valor numa coluna ou linha e devolve o item correspondente de outra coluna ou linha, em qualquer direção. Mais flexível que o PROCV e capaz de substituir também o PROCH, ela faz correspondência exata por padrão, aceita uma mensagem própria para quando nada é encontrado e pode procurar do fim para o começo. Segundo a página oficial da Microsoft, ela não está disponível no Excel 2016 e no Excel 2019, só em versões mais recentes.

A tabela do exercício, inventada, fica assim, com cabeçalho na linha 1 e dados das linhas 2 a 200:

A B C D
1 Código Produto Setor Preço
2 1001 Luva nitrílica Almoxarifado 32,90
3 1002 Máscara PFF2 Almoxarifado 4,50

A sintaxe, uma vez só

A Microsoft descreve a função com seis argumentos, três obrigatórios e três opcionais:

=PROCX(pesquisa_valor; pesquisa_matriz; matriz_retorno; [se_não_encontrada]; [modo_correspondência]; [modo_pesquisa])

A diferença para o PROCV aparece logo de saída. O PROCV pede uma tabela inteira e um número de coluna. O PROCX pede duas colunas separadas: onde procurar e o que devolver.

Passo 1: a busca simples

Pergunta: qual o preço do código que está em F2?

=PROCX(F2; A2:A200; D2:D200)

Procure F2 na coluna A, devolva o que estiver na coluna D, na mesma linha. Não há quarto argumento para lembrar. A Microsoft explica que o PROCX "produz uma correspondência exata por padrão". Quem leu o nosso ensaio sobre o PROCV sabe o tamanho dessa mudança: o erro mais comum do PROCV vinha justamente de esquecer o FALSO no final, o que o fazia usar correspondência aproximada.

Passo 2: procurar para a esquerda

Pergunta: qual o código do produto escrito em F3?

O PROCV não consegue fazer isso diretamente, porque só procura na primeira coluna da tabela e devolve algo à direita dela. O código está à esquerda do produto. Com o PROCX:

=PROCX(F3; B2:B200; A2:A200)

Procure na coluna B, devolva da coluna A. A direção não importa, porque as duas colunas são informadas separadamente.

Passo 3: quando não encontra

Pergunta: e se o código digitado não existir?

Sem o quarto argumento, o PROCX devolve o erro de valor não disponível, o #N/D da versão em português. Para evitar uma planilha cheia de erros, basta informar o que mostrar:

=PROCX(F2; A2:A200; D2:D200; "Código não cadastrado")

No PROCV, o mesmo resultado exigia combinar a função com SEERRO, que esconde qualquer erro, inclusive os que não deviam ser escondidos. O argumento senãoencontrada só age quando o valor não é encontrado.

Passo 4: faixas de valor

Pergunta: uma segunda tabela lista faixas de desconto por preço mínimo, em H2:H6, com os percentuais em I2:I6. Qual o desconto de um produto de R$ 37,00?

Aqui entra o quinto argumento. Segundo a Microsoft, o modo de correspondência -1 faz uma correspondência exata e, se não encontrar, "retorna o próximo item menor".

=PROCX(37; H2:H6; I2:I6; 0; -1)

Se as faixas começam em 0, 20, 50, 100 e 200, o resultado é o desconto da faixa de 20. O modo 1 faz o contrário e devolve o próximo item maior, e o modo 2 aceita curingas como asterisco e interrogação.

Passo 5: a última ocorrência

Pergunta: a tabela recebe uma linha nova a cada reajuste de preço, e um mesmo código pode aparecer várias vezes. Qual o preço mais recente?

O PROCV sempre devolve a primeira ocorrência que encontra. O PROCX tem o sexto argumento, o modo de pesquisa. Com -1, a busca começa do último item:

=PROCX(F2; A2:A200; D2:D200; "Não encontrado"; 0; -1)

Se os reajustes foram lançados em ordem cronológica, a última linha é a mais recente, e é ela que a fórmula devolve.

Passo 6: duas colunas de uma vez

Pergunta: quero o setor e o preço do mesmo código, lado a lado.

=PROCX(F2; A2:A200; C2:D200)

A matriz de retorno tem duas colunas, e o resultado se espalha pelas duas células à direita da fórmula. Um dos exemplos da própria Microsoft faz isso para devolver nome e departamento de um funcionário a partir do código.

A objeção: vale abandonar o PROCV?

Nem sempre. A objeção mais séria ao PROCX não é técnica, é de compatibilidade. Uma planilha com PROCX aberta numa versão antiga do Excel, como 2016 ou 2019, não calcula a função, e a Microsoft avisa disso na própria página. Em equipes em que parte das pessoas ainda usa versões antigas, o PROCV, bem escrito e com FALSO no final, continua sendo a escolha prudente.

Há também quem já domine o PROCV há anos e se pergunte se a troca compensa. Os seis passos acima respondem pela prática: os passos 1, 3 e 6 o PROCV resolve com cuidado extra ou com fórmulas auxiliares; os passos 2 e 5 exigem combinações mais complexas, como ÍNDICE com CORRESP. O PROCX não faz nada que fosse impossível antes, mas exige menos fórmulas auxiliares e deixa menos espaço para o esquecimento de um argumento.

Para estudar

A biblioteca do Logos tem três cursos livres e gratuitos para quem quer ir além. Aperfeiçoamento em Excel Básico cobre a base. Excel Avançado trata de funções de procura e análise de dados. Pacote Office Avançado integra o Excel ao restante das ferramentas de escritório.

Seis perguntas, uma tabela, uma função. O melhor jeito de aprender o PROCX é repetir o exercício com uma planilha real do seu trabalho.

Perguntas frequentes

O que é a função PROCX?

É a função de procura do Excel que localiza um valor numa coluna ou linha e devolve o item correspondente de outra, em qualquer direção, com correspondência exata por padrão.

Qual a diferença entre PROCV e PROCX?

O PROCV procura só na primeira coluna de uma tabela e devolve valores à direita, com correspondência aproximada se o último argumento for omitido. O PROCX recebe a coluna de busca e a de retorno separadas, procura em qualquer direção, faz correspondência exata por padrão, aceita mensagem para valor não encontrado e pode buscar do fim para o começo.

Por que o PROCX não aparece no meu Excel?

Segundo a Microsoft, a função não está disponível no Excel 2016 e no Excel 2019. Ela existe nas versões mais recentes do programa.

Como usar PROCX com duas condições?

Uma forma é concatenar os critérios, por exemplo =PROCX(F2&G2; A2:A200&B2:B200; D2:D200), que procura a combinação de dois valores. Como o PROCX só existe em versões que trabalham com matrizes dinâmicas, a fórmula funciona sem precisar ser confirmada como fórmula de matriz.

O PROCX substitui o PROCH?

Sim. Como recebe a coluna ou a linha de busca separadamente, o PROCX procura tanto na vertical quanto na horizontal.