Menu fechado

PROCX com exemplos

No início de 2020, foi disponibilizada para usuários do Office 365 a função PROCX no Excel. Ela segue uma lógica semelhante às funções ÍNDICE & CORRESP, retornando um valor em uma lista na mesma posição que outro elemento procurado se encontra em uma outra lista de busca.

Veja os argumentos que devem ser indicados na função:

  • Valor procurado;
  • Vetor de busca;
  • Vetor de resultado;
  • Resultado alternativo, em caso de erro (opcional, o padrão é nenhum);
  • Tipo de correspondência (opcional, o padrão é exata);
  • Modo de pesquisa (opcional, o padrão é de cima para baixo).

Agora, vamos dar uma olhada em um exemplo para utilizá-la. Temos uma tabela com cada UF e sua respectiva população de 2020 de acordo com estimativas do IBGE, conforme o trecho exibido na figura a seguir:

Como faríamos para encontrar a população de uma certa UF que está indicada na célula H7?

Poderíamos utilizar o PROCX da seguinte maneira:

=PROCX(H7;B15:B41;D15:D41)

Note que o valor procurado é a UF, o vetor de busca (onde a UF será buscada) seria a coluna de UFs da nossa tabela (B15:B41) e o vetor de resultado seria a coluna com os dados populacionais (D15:D41).

Ok, mas é só isso?

Não, a função também permite informar alguns argumentos opcionais. O primeiro deles é o resultado alternativo, onde podemos incluir, por exemplo, o texto “Não encontrado”. Desta forma, caso o valor procurado não seja uma sigla de UF, a função retornaria o texto “Não encontrado”. Isso é bem prático, pois, no caso do PROCV, PROCH e ÍNDICE & CORRESP, teríamos que fazer uso de alguma função de erro, como SEERRO ou o SEERROS.

=PROCX(H7;B15:B41;D15:D41;"Não encontrado")

Em seguida, podemos definir o tipo de correspondência, dentre as opções abaixo:

  • 0: correspondência exata (não aceita aproximações);
  • -1: correspondência exata ou próximo item menor (caso não haja correspondência exata, seria considerado o maior número menor que o valor procurado);
  • 1: correspondência exata ou próximo item maior (caso não haja correspondência exata, seria considerado o menor número maior que o valor procurado);
  • 2: correspondência de caractere curinga (onde os símbolos ?, * e ~ podem significar outros termos). Para mais informações desses caracteres, sugiro um artigo da Microsoft sobre o assunto (é bem curto).
=PROCX(H7;B15:B41;D15:D41;"Não encontrado";0)

Por fim, podemos especificar o modo de busca, sendo ele:

  • 1: pesquisa de cima para baixo;
  • -1: pesquisa de baixo para cima;
  • 2: pesquisa binária (para classificação crescente);
  • -2: pesquisa binária (para classificação decrescente).

As duas primeiras opções acima fazem mais diferença quando temos múltiplas ocorrências na tabela, onde podemos considerar o primeiro caso (1) ou o último (-1). Já as duas opções de pesquisa binária são mais relevantes quando a base de pesquisa é extremamente extensa e o tempo de cálculo da planilha se encontra elevado. Para isso, é necessário ordenar a tabela pela coluna de busca (no caso do nosso exemplo, foi a coluna de UFs) e utilizar uma das opções de acordo com a ordenação (2 ou -2) para agilizar o processo de pesquisa.

=PROCX(H7;B15:B41;D15:D41;"Não encontrado";0;1)

E aí, já usaram essa função? Caso queiram fazer o download do arquivo do vídeo, utilize o link abaixo:

Até a próxima!