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!