PROCX Texto – Excel e Google Planilhas
Este tutorial demonstra como usar a função PROCX com texto no Excel.
PROCX com Texto
Para pesquisar uma cadeia de texto, você pode inserir o texto na função PROCX entre aspas duplas.
=PROCX("Insc 2";B3:B7;C3:C7)
PROCX com Texto nas Células
Ou você pode fazer referência a uma célula que contenha texto.
=PROCX(E3;B3:B7;C3:C7)
PROCX com Vários Textos
Se quiser procurar uma série de textos, insira a referência do intervalo na fórmula e será criada uma fórmula “Spill” de matriz dinâmica.
=PROCX(E3:E4;B3:B7;C3:C7)
A fórmula será “derramada” para realizar os cálculos em toda a matriz de valores.
Como alternativa, você pode fazer referência a uma única célula, bloquear as referências de célula e copiar a fórmula para baixo.
=PROCX(E3;$B$3:$B$7;$C$3:$C$7)
Observação: certifique-se de que o segundo e o terceiro argumentos estejam em referências absolutas, adicionando sinais de $ na frente da letra da coluna e do número da linha (ou você pode colocar o cursor na referência enquanto estiver na fórmula e pressionar F4). Isso corrigirá as referências enquanto você estiver arrastando ou copiando a fórmula.
PROCX com o Último Texto
Por padrão, a função PROCX pesquisará uma correspondência exata de cima para baixo na lista (ou seja, abordagem Top-Down). Podemos reverter isso aplicando um valor de -1 ao último argumento: modo_pesquisa.
Podemos encontrar a última ocorrência de um texto em uma lista aplicando -1 ao último argumento da função PROCX.
=PROCX(E3;B3:B7;C3:C7;;;-1)
PROCX com a Função EXATO
Não ficou óbvio nos exemplos anteriores, mas o processo de correspondência da função PROCX não diferencia maiúsculas de minúsculas. Isso significa que o texto corresponderá independentemente da caixa (maiúscula ou minúscula).
Podemos usar a função EXATO para fazer uma correspondência com distinção entre maiúsculas e minúsculas.
=PROCX(VERDADEIRO;EXATO(E3;B3:B7);C3:C7)
Vamos visualizar como a fórmula acima funciona:
A função EXATO executa uma comparação com distinção entre maiúsculas e minúsculas entre dois valores.
Em nosso exemplo, uma matriz é criada, comparando o valor de pesquisa (coluna C) e cada um dos valores da matriz de pesquisa (coluna B). A função EXATO retornará VERDADEIRO se os textos que estão sendo comparados forem os mesmos e FALSO se forem diferentes (coluna D).
Em nossa fórmula PROCX, a aparência é a seguinte:
Observação: Isso só funcionará se houver uma entrada de matriz (B3:B7 na fórmula PROCX). A função EXATO também retornará uma saída de matriz, conforme visualizado na coluna D.
A saída da matriz da função EXATO é então usada como matriz de pesquisa para a função PROCX. Buscaremos a primeira ocorrência do valor VERDADEIRO, que significa uma correspondência exata, e retornaremos o status correspondente.
PROCX com Correspondência Parcial
O processo de correspondência nos exemplos anteriores é feito por meio da correspondência de textos ou frases inteiras, mas também podemos fazer uma correspondência parcial no PROCX.
PROCX com Caracteres Curinga
O método mais fácil de fazer uma correspondência parcial é usar curingas. Precisamos alterar o quinto argumento: modo_correspondência para 2 para permitir isso.
=PROCX("*"&E3&"*";B3:B7;C3:C7;;2)
Observação: o curinga asterisco representa qualquer número de caracteres. Ao adicionar o asterisco na frente e no final, pesquisamos qualquer texto que contenha “RS” (contido em E3).
PROCX com a Função LOCALIZAR
Outra forma de realizar uma correspondência parcial é aninhar uma função LOCALIZAR dentro do PROCX.
Para que isso funcione, devemos incluir a função LOCALIZAR usando a função ÉNÚM.
=PROCX(VERDADEIRO;ÉNÚM(LOCALIZAR(E3;B3:B7));C3:C7;;2)
Vamos visualizar como a fórmula funciona:
A função LOCALIZAR pesquisa um texto a partir de outro texto. Ela retornará um número de posição se encontrar o texto de pesquisa. Caso contrário, retornará um erro.
Como temos uma matriz de entrada (B3:B7), ela executará a pesquisa para cada um dos valores dentro da matriz de entrada e retornará uma matriz de saída (coluna C abaixo).
Veja como isso aparece em nossa fórmula:
A saída da matriz da função LOCALIZAR é então enviada para a função ÉNÚM, que verifica se os valores retornados da função LOCALIZAR são números. Se um valor for um número, ela retornará VERDADEIRO. Caso contrário, FALSO (coluna D abaixo)
Veja a seguir a aparência do resultado do ÉNÚM na fórmula:
Agora temos uma saída de matriz de valores VERDADEIRO e FALSO, que são usados como a matriz de pesquisa para a função PROCX. Procuraremos VERDADEIRO como a correspondência parcial.
PROCX com a Função PROCURAR
As funções PROCURAR e LOCALIZAR são praticamente a mesma função. Uma diferença importante é que a função LOCALIZAR não diferencia maiúsculas de minúsculas, enquanto a função PROCURAR diferencia.
Para executar uma correspondência parcial que diferencia maiúsculas de minúsculas, usaremos a combinação da função FIND com a função ÉNÚM.
=PROCX(VERDADEIRO;ÉNÚM(PROCURAR(E3;B3:B7));C3:C7;;2)
Problema de Correspondência Parcial do PROCX
Os métodos de correspondência parcial discutidos nas seções anteriores têm uma falha importante. Eles não conseguem distinguir uma correspondência exata de texto em uma determinada frase.
O processo de correspondência parcial abaixo não consegue distinguir o termo EPA para “epa” da palavra “Separar”
Correspondência Parcial Exata do PROCX
Se as palavras estiverem separadas por espaços, podemos adicionar espaços para realizar uma correspondência parcial exata.
=PROCX("* "&E3&" *";" "&B3:B7&" ";C3:C7;;2)
Observação: Adicionamos espaços antes e depois de E3 e também fazemos o mesmo para a matriz de pesquisa em B3:B7. Isso associará as palavras com espaços na frente e no final, que serão usados para distinguir uma correspondência exata de termo dentro das frases.
Problema de Texto do PROCX
Um dos problemas mais comuns na correspondência de texto são os espaços indesejados. Os espaços são tratados como parte dos textos. Portanto, se houver espaços extras, que são difíceis de perceber, a função PROCX retornará um erro. Certifique-se de que não haja espaços indesejados no valor de pesquisa e na matriz de pesquisa.
O valor de pesquisa (E3) no exemplo abaixo tem um espaço extra entre o “Insc” e o “2”
PROCX com a Função ARRUMAR
Podemos usar a função ARRUMAR para resolver os espaços extras. Podemos aplicá-la tanto ao valor de pesquisa quanto a toda a matriz de pesquisa.
=PROCX(ARRUMAR(E3);ARRUMAR(B3:B7);C3:C7)
Observação: A função ARRUMAR remove os espaços extras entre as palavras até que haja um limite de um espaço entre elas, e todos os espaços antes da primeira palavra e depois da última palavra de um texto ou frase são removidos.