Amauri Bekesius • 11 nov 2024 • Microsoft Excel
Uma função simples, porém, muitas pessoas ainda persistem em utilizar a função PROCV() do Excel 365. Talvez por não ter conhecimento ou até mesmo pela vasta usabilidade da função anterior (PROCV()). Iremos entender essas funcionalidades e tentar “quebrar” esse tabu para que possamos inovar e sempre contar com Excel 365 como nosso “parceiro” e não como vilão. Digo isso por conhecer inúmeras pessoas que pensam assim e minha tarefa entre outras é inverter esse pensamento.
A função PROCX() foi lançada como parte do Microsoft 365 Insider Program em janeiro de 2020. Inicialmente, estava disponível apenas para os participantes do programa e assinantes do Office 365. Com o tempo, a função foi otimizada e tornou-se disponível para todos os usuários do Microsoft 365.
A função PROCV() e PROCH() já haviam sido substituídas pelas funções ÍNDICE() e CORRESP(), porém, não sabemos se os usuários não tem o conhecimento dessas outras funções ou se acharam complicadas. Sabemos apenas que ainda continuam utilizando PROCV() e PROCH(). Nada contra, mas temos que nos atualizarmos concordam?
Portanto, vamos ao que interessa, colocarei alguns exemplos para que possamos desmistificar essas dúvidas.
Passo 1:
A navegabilidade que temos em uma planilha em relação as colunas torna-se “livre” e não mais aquela necessidade de selecionar a base toda. Como assim? Veja nesta imagem (base pequena apenas demosntrativa):
Percebam as colunas e linhas dessa base. Não tenho a princípio nenhuma coluna que possa ser única para que a função retorne a informação solicitada. Muitas das vezes nesses casos criamos uma coluna (1ª – coluna) com um código para tornar a base única em cada linha, por exemplo:
Quantas vezes fizemos isso? Claro que não é um padrão uma regra, existem bases com Inscrições, Matrículas, CPF, CNPJ que acabam tornando as linhas também únicas. Tudo uma questão de analisar e ver a melhor maneira e facilidade de trabalhar quando essas bases são enviadas para nós. É o que nós chamamos em análise de dados de Transform (transformar).
Passo 2:
Nesta função PROCX() devemos entender sua sintaxe e logo após aplicarmos de forma prática como a seguir:
Essa legenda tem o seguinte significado:
Pesquisa_Valor: É o mesmo critério da função PROCV(), ou seja, qual o valor que está sendo necessário na pequisa (procurado). Aqui apenas selecione a célula da informação a ser pesquisada.
Pesquisa_Matriz: É a base propriamente dita, ou seja, onde a Pesquisa_Valor possa estar nesta base ou não.
Matriz_Retorno: É a coluna que quer que aparece após a Pesquisa_Valor (o resultado) ser encontrada na Pesquisa_Matriz, ou seja, não se faz mais necessário selecionar toda a base para contar colunas e aí sim extrair a informação desejada. (simples não?).
Se_não_encontrada: aqui que maravilha, uma função se() embutida na PROCX, ou seja, caso a informação da Pesquisa_Valor são esteja na Pesquisa_Matriz, podemos colocar uma palavra, frase ou nada mesmo, longe daquela situação #N/D.
Modo_Correspondência: sempre 0 (zero) para códigos exatos os demais: -1 para valores exatos ou proximo item menor, 1 para valores exatos ou proximo item maior e 2 caracter curinga, quando “forçamos” uma pesquisa. Esse curinga veremos em outra oportunidade.
Modo_Pesquisa: Se prefere procura de cima para baixo, inverso ou pesquisa binária
Sintaxe feita, vamos a um exemplo:
Passo 3:
Na base acima necessito pesquisar o nome do banco de uma determinada linha onde ao digitar em uma célula o código com a função PROCX() o nome do respectivo banco aparecerá ao lado desta célula, conforme:
Valor a ser pesquisado:
Célula M5, onde foi digitado o código que foi recém criado na base
Matriz Valor a ser pesquisado:
Coluna selecionada B:B refere-se a coluna B claro com todas das linhas do Excel 365, ou seja, 1.048.576 linhas. Por quê? Não sabemos se a base irá crescer verticalmente com o tempo. Na dúvida, selecionamos a coluna inteira. Nesta coluna esta ou não o código que será procurado pela função.
Matriz Retorno:
Seleciono toda a coluna H com o mesmo conceito anterior da coluna B.
Se não Encontrado:
Neste exemplo coloquei apenas uma frase caso o código não esteja na base ao invés disso #N/D, trazer esta frase ou qualquer que achar mais conveniente.
Correspondência:
Por se tratar de um Código, CNPJ, CPF, Matrícula ou Inscrição a correspondência deverá ser 0 (zero), ou seja, exata. Pronto, vamos ao resultado:
Função executada com perfeição. Vou digitar outro código e veremos?
Mesmo banco, porém, outro código.
Agora um código que não está na base:
Vejam que sensacional, este código 60 não tem na base e a frase é emitida no lugar do erro da função anterior PROCV(), tudo isso sem utilizar a função de controle de erros SEERRO().
Passo 4:
Agora uma utilização da função PROCX() com escaninho, ou seja, uma PROCX dentro de outra PROCX (composta), porém, de uma forma que acho que “nunca” viu. Está é a função:
=PROCX(1;(B:B=M5)*(G:G=M6)*(D:D=M7);H:H;"";0)
Vamos a explicação:
PROCX(1 Não irei utilizar a Pesquisa_Valor como acima, para isso isolo a primeira parte com o número 1
(B:B=M5) M5 todos sabem que é o código e B:B a explicação já foi feita acima
* Um sinal de multiplicar para adicionar outro PROCX desta forma onde:
(G:G=M6) Acumulando o “segundo” PROCX() M6 0 valor sendo procurado na coluna G
* Um sinal de multiplicar para adicionar outro PROCX desta forma onde:
(D:D=M7) E por fim o “terceiro” PROCX() referente ao grupo coluna D
Agora o resultado:
E assim, quantas vezes forem necessárias para poder extrair informações de bases com diversas variáveis de busca.
Outra:
Conclusão:
Na verdade, essa inspiração vem sempre de uma necessidade de alguém que nos procura, ou seja, as diversas solicitações para poder extrair informações de bases complexas.
Consigo fazer com PROCV(), sim, porém, com muita dificuldade em relação ao exemplo acima. Podemos utilizar a função PROCX() de várias maneira, esta foi a que achei adequada para o tema e com esse exemplo, imagino que sua visão irá mudar e com certeza utilizará com sofisticação e também com criatividade onde poderíamos utilizar a Validação de Dados (listas suspensas).
Enfim, mais uma vez, cada situação uma situação. Esses artigos são para vocês lerem, analisarem a necessidade de utilização. São exemplos simples que uso para demostrar a “facilidade” dessa e de diversas outras funções do nosso Excel 365.