Outro dia recebi uma dúvida de um leitor que dizia:

Se o texto que se quer uma parte for um endereço do tipo:

AL RIBEIRAO PRETO, 556, BELA VISTA, CEP 01331000

e queremos apenas o endereço até a segunda vírgula em uma listagem extensa de clientes.

Como elaborar a função?

Então…. primeira devemos observar o seguinte:

Para usarmos qualquer fórmula que extraia os valores de um texto, precisamos informar tamanho do texto que queremos retornar e/ou a posição inicial no texto onde partirá a extração.

Mas como ter essas infomações se cada endereço terá um tamanho? Não podemos dizer: retorne um texto com tamanho 20! Ou, extraia um texto a partir da posição 10! Pois esses dados serão variáveis e diferentes a cada linha.

Para solucionarmos a questão, devemos estabelecer algumas regras e definir fórmulas que nos retornem as informações referenciais de tamanho e posicionamento que necessitamos para a fórmula de extração de texto.

Como fazer isso? Vejamos.

Antes, leia este artigo sobre o assunto.

Com base no exemplo recebido (AL RIBEIRAO PRETO, 556, BELA VISTA, CEP 01331000), vamos definir nossa regra de padronização.

  • Todo endereço será composto de Rua, Número, Bairro, CEP.
  • Precisamos extrair apenas rua e número, portanto, o texto até a 2a. vírgula.

Sendo assim, já temos nosso padrão: Extrair o texto até a segunda vírgula.

Sugestão: (admita que o endereço completo esteja na célula A1)

=ESQUERDA(A1;PROCURAR(“,”;A1;PROCURAR(“,”;A1)+1)-1)

Explicando:

  1. O primeiro PROCURAR (PROCURAR(“,”;A1)+1) vai encontrar a posição da primeira vírgula e adicionar mais 1(uma) posição para iniciar a procura da 2a. vírgula.
  2. O segundo PROCURAR (PROCURAR(“,”;A1;PROCURAR(“,”;A1)+1)-1) encontra a posição da 2a. vírgula e subtrai 1(uma) posição, pois, o seu resultado será informado como tamanho da string na fórmula ESQUERDA, ou seja, a vírgula não aparecerá, por isso, diminui um caracter.
  3. A fórmula ESQUERDA utiliza o resultado da combinação das duas fórmulas acima como parâmetro do tamanho da cadeia de caracteres a retornar.

A fórmulá sempre localizará a segunda vírgula no texto e retornará como tamanho do texto a ser extraido. Dessa maneira, não importa a quantidade de caracteres possua determinado endereço, pois a fórmula sempre buscará o tamanho pela regra definida.

A fórmula poderá retornar erro caso não consiga identificar as duas vírgulas. Você pode tratar isso utilizando um SE e um ÉERROS. Veja como ficaria:

=SE(ÉERROS(ESQUERDA(A1;PROCURAR(“,”;A1;PROCURAR(“,”;A1)+1)-1));”";ESQUERDA(A1;PROCURAR(“,”;A1;PROCURAR(“,”;A1)+1)-1))

 

Entenda que a regra é você que define. Neste exemplo, utilizamos o identificador vírgula, na posição 2. Você pode usar outras regras, espaços, letras, pontos, primeira ocorrência no texto ou outra qualquer. Fica livre. Só adaptar a fórmula para cada caso.

 

Um Abraço