Como usar a função PROCX no Excel
Como usar a função PROCX no Excel
A função PROCX se enquadra entre as funções de pesquisa do Excel, ou seja, com ela podemos realizar a busca de um dado tomando outro como correspondente, assim como ocorre com as famosas funções PROCV e PROCH. No entanto, ela é muito mais dinâmica e completa que suas antecessoras.
Neste artigo vamos aprender a sintaxe padrão da função PROCX e também seus argumentos opcionais: mensagens personalizadas, correspondência de valores e ordem de pesquisa.
Versão em vídeo
Versão do Excel utilizada na aula: Microsoft Excel 365 [versão 2303]
Download dos arquivos
Você pode baixar os arquivos utilizados no tutorial em vídeo. O arquivo inicial refere-se ao arquivo sem as modificações, ideal para praticar o passo a passo e treinar suas habilidades. O arquivo pronto é o arquivo final, com todas as modificações ensinadas já aplicadas, ideal se você já quiser ter em mãos o resultado.
Para baixar os arquivos, acesse a página de download e clique no botão Baixar.
Inscreva-se para receber novos arquivos, aulas, artigos e dicas por e-mail!
Ao se cadastrar, você aceita nossos Termos de Uso e Serviço e nossa Política de Privacidade.
Versão em texto / ilustrada
Versão do Excel utilizada neste tutorial: Microsoft Excel 365 [versão 2303]
PROCX comum
O modo mais usual de se usar a PROCX é basicamente fornecendo o item a ser pesquisado, a matriz onde ele se encontra e a matriz que contém o dado correspondente a ser retornado.
No exemplo abaixo temos uma planilha contendo o cadastro de alguns produtos, data, status e responsável pela inserção dos dados. Ao lado, faremos uma pesquisa pelo código e o Excel nos trará a data de cadastro e o status.
Vamos começar pelo retorno da data de cadastro. Em H6, vamos inserir a seguinte fórmula:
=PROCX(H4;A:A;C:C)
H4 refere-se ao termo de pesquisa, ou seja, a célula que contém o termo a ser pesquisado (em nosso caso, o código do produto). A:A refere-se à matriz de pesquisa, ou seja, o local onde se encontram os dados que devem ser pesquisados a partir do item inserido em A4. Como estamos realizando a busca a partir do código, nossa matriz de pesquisa é justamente a coluna que contém esses códigos, ou seja, a coluna A (por isso a notação A:A). Você pode também selecionar um intervalo específico, não necessariamente uma coluna completa. Já C:C refere-se ao intervalo que contém nossa matriz de retorno, ou seja, onde estão os dados que devem ser retornados, de acordo com a correspondência que eles fazem com os códigos.
Na mesma linha em que se encontra o código procurado, o Excel retornou a data correspondente.
Para a busca do status, o único argumento a ser alterado é a matriz de retorno, que agora é a coluna E:
=PROCX(H4;A:A;E:E)
PROCX com argumento "se não encontrada"
Um dos argumentos não obrigatórios da função PROCX é o “se não encontrada“. Ele nos permite definir uma ação caso o termo pesquisado não seja encontrado na matriz de pesquisa. Podemos realizar uma referência, uma operação, inserir uma função ou mesmo um texto de aviso, que é o que faremos neste exemplo.
Observe a ordem de argumentos da função. Depois dos argumentos obrigatórios, “se_não_encontrada” é o primeiro dos opcionais, portanto você precisa respeitar essa ordem caso queira utilizar os demais argumentos.
Usando a mesma planilha anterior, vamos inserir uma mensagem caso o item pesquisado não seja encontrado. Nossa sintaxe ficaria assim:
=PROCX(K4;B:B;C:C;”Não encontrado”) – para o cadastro
=PROCX(K4;B:B;A:A;”Não encontrado”) – para o código do produto
Se o termo pesquisado não for localizado, a mensagem é exibida.
PROCX no modo correspondência
O modo correspondência também é um argumento não obrigatório da função PROCX. Ele pode ser muito útil quando temos uma classificação baseada em uma faixa de valores e queremos o retorno dessa classificação. Basicamente, aqui a PROCX não terá sua função habitual de buscar dados exatos, mas sim de encaixar um determinado valor em uma categoria e retornar, como resultado, propriamente a categoria.
Na planilha acima, nosso termo de busca foi “LOJA 10”, de modo que o Excel retornou, através de uma PROCX comum, o resultado de vendas dessa loja. Já o resultado “REGULAR” é uma PROCX que analisa o valor das vendas e busca a faixa onde esse valor se encontra para retornar um termo correspondente. Para tal, devemos ter uma lista com essas categorias, como essa abaixo.
Se o valor das vendas não chegar a R$ 25.000,00, a PROCX retornará o termo “PÉSSIMO”. Se o resultado for de R$ 25.000,00 em diante mas não chegar a R$ 40.000,00, o termo a ser retornado é “RUIM”. E assim a lógica segue de forma sucessiva, até o termo “ÓTIMO” para valores de R$ 75.000,00 em diante.
Vamos colocar isso em prática. A sintaxe para a busca dos valores é a habitual, que já vimos no primeiro tópico deste artigo. Ela busca a loja (E4) dentro da matriz onde estão as lojas (A:A) e retorna seus respectivos valores contidos na coluna B (B:B).
=PROCX(E4;A:A;B:B)
Já a sintaxe do modo correspondência fica um pouco diferente.
=PROCX(E6;H4:H8;G4:G8;;-1)
E6 é o termo de busca (justamente o valor das vendas, já retornado pela PROCX anterior). H4:H8 refere-se à matriz de pesquisa, ou seja, os valores que devem ser vasculhados. G4:G8 é a matriz de retorno, a matriz que contém os termos a serem retornados de acordo com os valores correspondentes na coluna H.
O próximo argumento é o “se_não_encontrada”, mas, nesse exemplo, não faremos uso dele, portanto basta digitar um ponto e vírgula para que a sintaxe “pule” para o argumento seguinte, que é justamente o modo correspondência.
Nesse modo o Excel traz quatro opções. A correspondência exata (representada pelo número 0) faz justamente o que a versão comum da PROCX faz: buscar um dado exatamente como digitado. No nosso caso, as categorias a serem retornadas obedecem a um critério simples: maior ou igual. Por exemplo, para que o termo “REGULAR” apareça, o valor em vendas precisa ser maior ou igual a R$ 40.000,00. Essa lógica se adequa à opção Correspondência exata ou próximo item menor, representada pelo número -1. Se o resultado de vendas for R$ 65.000,00, o Excel retorna a categoria do próximo item menor da lista, ou seja, R$ 60.000,00.
PROCX no modo pesquisa
O modo pesquisa se distingue basicamente pela propriedade de se realizar buscas mesmo em meio a valores repetidos. Com esse argumento, é possível indicar ao Excel se o resultado a ser retornado deve ser o primeiro ou o último encontrado na matriz de dados.
No exemplo abaixo, observe que a seção “PRINCIPAL” está presente em diversas células, mas o Excel buscou os resultados referentes apenas à última vez em que o termo aparece na matriz.
Vamos então à sintaxe:
=PROCX(F4;B:B;C:C;;;-1)
F4 é, como habitualmente, nosso termo de busca. B:B refere-se à coluna B completa, ou seja, a matriz onde deve ser procurado o termo inserido em F4. C:C refere-se à coluna C, que é justamente a coluna de quantidade, já que esse é o primeiro dado que desejamos obter. Devemos seguir a ordem dos argumentos opcionais, inserindo um ponto e vírgula para cada argumento não usado, até que consigamos acessar o argumento modo_pesquisa.
Aqui novamente devemos usar um número que se encaixe na lógica adequada. Por enquanto, vamos ignorar a pesquisa binária e nos atentar apenas às duas primeiras opções. O entendimento é bem simples: 1 para pesquisar do primeiro ao último (de modo que o primeiro resultado encontrado será o resultado exibido) ou -1 para pesquisar do último ao primeiro (de modo que o último resultado da matriz será o resultado exibido).
Em nosso caso, como a intenção é procurar pelo último registro da lista, optamos por -1.
A sintaxe para a data é a mesma. A diferença está na alteração da coluna de retorno, que agora é a coluna A.
=PROCX(F4;B:B;A:A;;;-1)
Dicas e informações complementares
- A função PROCX não é compatível com algumas versões mais antigas do Excel, portanto pode não ser uma boa opção de uso caso você compartilhe frequentemente suas planilhas com usuários que não tenham acesso à versão mais recente do pacote Office.
- Uma alternativa para a aplicação comum da função PROCX é o uso combinado das funções ÍNDICE e CORRESP, que você pode conferir neste artigo.
- Você pode usar mais de um argumento opcional na mesma função.