Contar caractere repetido dentro de célula
Contar o número de caracteres dentro de uma célula é uma tarefa bem simples no Excel, na verdade tem uma função específica que faz exatamente isso, a NÚM.CARACT. Mas e quando queremos contar um caractere ou conjunto de caracteres específicos dentro de uma célula?
Bom… neste caso não existe uma função própria pra isso, mas tem uma forma bem simples de conseguir o resultado.
Vídeo explicativo
Assista o vídeo abaixo que te explico tudo no detalhe, ou continue lendo.
Coloque o vídeo em tela cheia para assistir normalmente
Como contar caractere repetido
A tabela abaixo apresenta um texto, o caractere que queremos contar dentro deste texto e o resultado da fórmula que faz essa contagem.
Cada uma das linhas contém uma fórmula levemente diferente da outra, mas vamos seguir uma lógica aqui e evoluindo a cada linha.
Fórmula da célula D3
A fórmula básica, que está contida na célula D3 é:
=NÚM.CARACT(B3)-NÚM.CARACT(SUBSTITUIR(B3;C3;””))
Agora vamos por partes, a primeira parte da formula contém a função:
=NÚM.CARACT(B3)
Esta função irá simplesmente retornar quantos caracteres existe no texto contido na célula B3, neste caso, o número 7.
A segunda parte da formula contém uma função dentro de outra:
-NÚM.CARACT(SUBSTITUIR(B3;C3;””))
A função SUBSTITUIR irá trocar dentro do texto contido na célula B3 sempre que aparecer o caractere contido na célula C3 por “”. Em outras palavras, onde tiver um . (ponto) no texto da célula B3 irá ser trocado por nada, ou seja o ponto some e não fica nada no lugar dele, nem mesmo um espaço.
No exemplo da imagem, o que vai acontecer é que ao invés de 1.01.01 irá ficar 10101.
Em seguida a função NÚM.CARACT que contém a função SUBSTITUIR dentro de si, irá contar quantos caracteres tem o texto resultado da função SUBSTITUIR. Neste caso a resposta será 5.
Voltando para a fórmula completa
NÚM.CARACT(B3) = 7
NÚM.CARACT(SUBSTITUIR(B3;C3;””)) = 5
7 – 5 = 2
Logo, sabemos que ao retirarmos os . (pontos) do texto contido na célula B3 o número de caracteres dela diminui em 2. Assim concluímos que o . (ponto) aparecia 2 vezes no texto.
Fórmula da célula D4
Na célula D4 muda pouca coisa em relação a anterior, na verdade a formula contida dentro desta célula também poderia ser escrita na célula D3 que daria no mesmo.
O problema aqui é que quando pesquisamos por mais de um caractere dentro da célula, quando usamos a função SUBSTITUIR a cada troca feita o número de caracteres diminui em mais de uma unidade. Como mostra no exemplo da imagem, quando substituímos ‘ma’ dentro do texto contido na célula B4 o número de caracteres dessa célula diminui em 2, fazendo com que a contagem fique errada quando subtrairmos o número de caracteres do texto original com o texto “ajustado”.
Para resolver este problema, pegamos exatamente a mesma fórmula utilizada na célula D3, colocamos tudo dentro de parênteses e dividimos pelo número de caracteres que queremos contar, veja.
=(NÚM.CARACT(B4)-NÚM.CARACT(SUBSTITUIR(B4;C4;””)))/NÚM.CARACT(C4)
Fórmula da célula D5
A função SUBSTITUIR possui uma característica que pode atrapalhar na nossa contagem, ela é uma função case-sensitive ou seja, ela diferencia letras maiúsculas de minúsculas. Então quando queremos contar quantas vezes a letra ‘e’ minúscula aparece dentro do texto contido na célula B5 que é a palavra ‘Estacionamento’ a função SUBSTITUIR irá remover apenas o ‘e’ minúsculo, ou seja só ira remover um caractere, quando na verdade deveria remover o ‘E’ maiúsculo também.
Para resolver essa situação, iremos converter, dentro da função SUBSTITUIR todo o texto para letra maiúsculas ou minúsculas e o caractere a ser substituído também o deixaremos em maiúsculo ou minúscula, deixando ambos sempre iguais.
A função contida na célula D5 fica praticamente igual a primeira que vimos, na célula D3
=NÚM.CARACT(B5)-NÚM.CARACT(SUBSTITUIR(MINÚSCULA(B5);C5;””))
Espero ter ajudado!