funções de texto

Como checar se o texto de uma célula é exatamente igual a uma célula ou texto definido?

Quando utilizamos precisamos comparar duas sequências de texto, um cuidado importante deve ser tomado quanto à necessidade de diferenciar letras maiúsculas de letras minúsculas.

Utilizando o operador “=” (igual), as células de texto A1 e A2, contendo respectivamente “Professor” e “professor”, retornarão o valor VERDADEIRO quando comparadas no exemplo a seguir:

=SE(A1=A2; “EDUCAÇÃO”; “OUTROS”)

Para determinadas conferências de valores de texto, essa comparação será suficiente. Em outros casos, no entanto, pode-se desejar diferenciar o texto “XrT6oP” de “XRT6OP”, como quando temos um código ou senha que precisa ser informado exatamente daquele jeito para haver o batimento.

Função EXATO(texto ou célula;texto ou célula)

Utilize a função EXATO() para obter VERDADEIRO apenas quando a sequência texto1 for exatamente idêntica a texto2. Na fórmula acima, ficaria assim:

=SE(EXATO(A1;A2); “EDUCAÇÃO”; “OUTROS”)

Veja um exemplo de utilização da fórmula abaixo com o operador “=” (igual):

A B C
1 Médico professor =SE(A1=B1;”EDUCAÇÃO”;”OUTRAS”)
2 professor professor =SE(A2=B2;”EDUCAÇÃO”;”OUTRAS”)
3 PROFESSOR professor =SE(A3=B3;”EDUCAÇÃO”;”OUTRAS”)

Que retornará:

A B C
1 Médico professor OUTRAS
2 professor professor EDUCAÇÃO
3 PROFESSOR professor EDUCAÇÃO

Veja um exemplo de utilização da fórmula abaixo com a função EXATO():

A B C
1 XpTO4531 XPTO4532 =SE(EXATO(A1;B1);”IGUAL”;”DIFERENTE”)
2 XPtO4532 XPTO4532 =SE(EXATO(A2;B2);”IGUAL”;”DIFERENTE”)
3 XPTO4532 XPTO4532 =SE(EXATO(A3;B3);”IGUAL”;”DIFERENTE”)

Que retornará:

A B C
1 XpTO4531 XPTO4532 DIFERENTE
2 XPtO4532 XPTO4532 DIFERENTE
3 XPTO4532 XPTO4532 IGUAL

Como checar a posição de um caractere ou texto dentro de uma célula?

Na semana passada, trouxemos um exemplo de código de pedidos para explicar as funções que permitem extrair partes de um texto ou célula.

Acontece que, e você já deve saber, alguns códigos podem possuir sequências de caracteres de tamanho variável, geralmente delimitadas por um caractere de pontuação ou símbolo (“-“, “.”, “%”, “#”, “|” etc.). Veja alguns exemplos:

  • 275-BEBIDAS, 89-CALÇADOS, 8-CAMA MESA BANHO;
  • 400|CHEQUE|4X, 200|DINHEIRO|1X, 500|CARTÃO DE CRÉDITO|10X;

Para esses casos, não dá para simplesmente deixar fixas as posições de extração, pois em cada situação acima os termos do meio e das extremidades possuem quantidade de caracteres que variam.

Além desse tipo de aplicação, a função que apresentaremos também serve para você criar uma consulta rápida em uma coluna para que ela acuse se um determinado texto está contido em uma outra célula. Imagine que você precise saber quantos de seus clientes possuem a expressão SILVA na coluna Nome completo, por exemplo.

Bom, chegou a hora de conhecer como resolver essas situações em seu editor de planilhas.

Função PROCURAR(texto a procurar;texto onde procurar;[posição inicial])

A função PROCURAR() retorna a posição em que há a primeira ocorrência de um texto dentro de outro texto ou célula, a partir da posição inicial informada. A posição inicial é um argumento opcional (se não for informado, o padrão é 1) e serve para pular uma quantidade de caracteres da esquerda para a direita antes de retornar a ocorrência.

Se você sabe que no texto onde procurar há uma ocorrência do caractere “|” (pipe) entre as posições 3 e 5, pode definir que a posição inicial será 6. Assim, a função só retornará a próxima ocorrência do caractere “|” no texto a partir do 6º caractere:

  • PROCURAR(“|”;”bola|casa|quadrado”) retornará 5, pois a primeira ocorrência de “|” na sequência acontece no 5º caractere;
  • Porém, PROCURAR(“|”;”pá|apartamento|círculo”;6) retornará 15, pois, ignorando ocorrências anteriores ao 6º caractere do texto, a primeira ocorrência do “|” seria na 15ª posição.

A seguir, vamos mostrar exemplos de uso da função PROCURAR() em conjunto com as funções NÚM.CARACT()EXT.TEXTO() ou MEIO() etc. já postadas aqui no blog:

A B C
1 275-BEBIDAS =PROCURAR(“-“;A1) =ESQUERDA(A1;B1-1)
2 108-LEITE E DERIVADOS =PROCURAR(“-“;A2) =ESQUERDA(A2;B2-1)
3 89-CALÇADOS =PROCURAR(“-“;A3) =EXT.TEXTO(A3;1;B3-1)
4 8-CAMA, MESA, BANHO =PROCURAR(“-“;A4) =EXT.TEXTO(A4;1;B4-1)

Como resultado, você certamente encontrará o seguinte:

A B C
1 275-BEBIDAS 4 275
2 108-LEITE E DERIVADOS 4 108
3 89-CALÇADOS 3 89
4 8-CAMA, MESA, BANHO 2 8

Agora, mais alguns exemplos com o termos no meio e no final das sequências:

A B C
1 400|CHEQUE|4X =EXT.TEXTO( A1; 5; PROCURAR(“|”; A1; 5) -1) =EXT.TEXTO( A1; PROCURAR(“|”; A1; 5) -1; NÚM.CARACT(A1))
2 200|DINHEIRO|1X =EXT.TEXTO( A2; 5; PROCURAR(“|”; A2; 5) -1) =EXT.TEXTO( A2; PROCURAR(“|”; A2; 5) -1; NÚM.CARACT(A2))
3 500|CARTÃO DE CRÉDITO|10X =EXT.TEXTO(A3; 5; PROCURAR(“|”; A3; 5) -1) =EXT.TEXTO( A3; PROCURAR(“|”; A3; 5) -1; NÚM.CARACT(A3))

Resultado esperado:

A B C
1 400|CHEQUE|4X CHEQUE 4X
2 200|DINHEIRO|1X DINHEIRO 1X
3 500|CARTÃO DE CRÉDITO|10X CARTÃO DE CRÉDITO 10X

Por fim, o exemplo do teste de ocorrência de um termo no conteúdo de uma célula:

A B C
1 JOSÉ ANTONIO SILVA =PROCURAR(“SILVA”;A1) =SE(NÃO(ÉERRO(B1));1;0)
2 JOSÉ PAULO FERREIRA =PROCURAR(“SILVA”;A2) =SE(NÃO(ÉERRO(B2));1;0)
3 MARIA SILVA FERREIRA =PROCURAR(“SILVA”;A3) =SE(NÃO(ÉERRO(B3));1;0)

Perceba no resultado abaixo que as células que não possuem o termo procurado aparecem com a mensagem de erro #VALOR!. Podemos fazer um teste lógico simples, através das funções NÃO()ÉERRO() para atribuir 0 (zero) ou 1 (um) à Coluna C:

A B C
1 JOSÉ ANTONIO SILVA 14 1
2 JOSÉ PAULO FERREIRA #VALOR! 0
3 MARIA SILVA FERREIRA 7 1

Como acrescentar caracteres repetidos a uma célula de texto?

Algumas aplicações exigem que você formate um arquivo de colunas de largura fixa, parecido com o que mostramos abaixo:

JOSÉ O. F. FERREIRA    RUA SILVA JARDIM, 123     RECIFE
ANTONIO J. SILVA       RUA COSTA BARROS, 12      FORTALEZA
MARIA C. P. RODRIGUES  AV. BRASIL, 400           RIO DE JANEIRO

Se você já possui esses dados em uma planilha, pode utilizar a função que apresentamos abaixo para completar com espaços as células cuja largura em caracteres seja menor que o mínimo desejado.

Função REPT(texto;núm. vezes)

A função REPT() permite incluir uma sequência de texto (de um ou mais caracteres) por uma quantidade especificada de vezes. Por exemplo, REPT(“X”;8) retornará XXXXXXXX. E REPT(“Kkkk!”;4) retornará Kkkk!Kkkk!Kkkk!Kkkk!.

Veja mais alguns exemplos de uso abaixo:

A B
1 * =REPT(A1;8)
2 ## =REPT(A2;4)
3 ABCD =REPT(A3;4)

Como resultado, você certamente encontrará o seguinte:

A B
1 * ********
2 ## ########
3 ABCD ABCDABCDABCDABCD

Agora, vamos dar um exemplo mais prático, utilizando as funções NÚM.CARACT()CONCATENAR(), já apresentadas aqui no blog:

A B C
1 RUA SILVA JARDIM, 123 RECIFE =A1&REPT(” “;25-NÚM.CARACT(A1))&B1&REPT(” “;15-NÚM.CARACT(B1))
2 RUA COSTA BARROS, 12 FORTALEZA =A2&REPT(” “;25-NÚM.CARACT(A2))&B2&REPT(” “;15-NÚM.CARACT(B2))
3 AV. BRASIL, 400 RIO DE JANEIRO =A3&REPT(” “;25-NÚM.CARACT(A3))&B3&REPT(” “;15-NÚM.CARACT(B3))

Utilizando as fórmulas propostas, você conseguirá células com a mesma quantidade de caracteres (25 caracteres para os dados da primeira coluna e 15 caracteres para os da segunda, completados por espaços):

A B C
1 RUA SILVA JARDIM, 123 RECIFE RUA SILVA JARDIM, 123    RECIFE         
2 RUA COSTA BARROS, 12 FORTALEZA RUA COSTA BARROS, 12     FORTALEZA      
3 AV. BRASIL, 400 RIO DE JANEIRO AV. BRASIL, 400          RIO DE JANEIRO 

Como contar a quantidade de caracteres de uma sequência ou célula de texto?

Se você estiver preparando uma lista de mail marketing e precisar descobrir a quantidade de caracteres de cada célula da coluna Nome completo (em sua planilha de clientes, por exemplo) poderá utilizar a função que descreveremos a seguir.

Função NÚM.CARACT(texto)

A função NÚM.CARACT() retorna a quantidade de caracteres de uma sequência de texto ou do conteúdo de uma célula de texto. Se você testar, por exemplo, NÚM.CARACT(“Francisco José Ferreira”) essa função retornará 23.

Veja mais exemplos:

A B
1 ANTONIO PEREIRA =NÚM.CARACT(A1)
2 FRANCISCO JOSÉ =NÚM.CARACT(A2)
3 MARIA ANTONIA =NÚM.CARACT(A3)
4 MARIA FRANCISCA =NÚM.CARACT(A4)

Como resultado, você certamente encontrará o seguinte:

A B
1 ANTONIO PEREIRA 15
2 FRANCISCO JOSÉ 14
3 MARIA ANTONIA 13
4 MARIA FRANCISCA 15