Excel – Contar caracteres em um texto ou string

Eis uma fórmula bem bobinha, mas que deu um trabalho para chegar no resultado, que curiosamente também parece simples de ser enxergado.

Enfim, precisei de um jeito fácil contar a quantidade de ocorrências de um caracter dentro de um texto de uma célula. É claro que dá pra fazer isso com as operações de texto para colunas, etc, mas haviam muitas células e iria fazer uso disso com uma certa frequência ao longo do dia. Por fim, eis a fórmula que resolveu o problema:

=NÚM.CARACT(CELULA)-NÚM.CARACT(SUBSTITUIR(CELULA;”TEXTO”;””))

Explicando a fórmula

A fórmula NÚM.CARACT retorna a quantidade de caracteres de um texto, que pode estar numa célula, não fazendo distinção do conteúdo. Uma célula com o texto “CÉLULA” retornaria 6, por exemplo.

A fórmula SUBSTITUIR, como o nome diz, efetua a substituição de um texto dentro de outro texto. Supondo que você precisasse remover os espaços em branco dentro de um texto, é esta fórmula que você utilizaria. Por exemplo:

=SUBSTITUIR(“BLABLABLA”;”B”;”C”)

retorna o texto “CLACLACLA”, pois estamos substituindo todas as ocorrências de B por C.

Pois bem, o que a primeira fórmula faz é, conta o número de caracteres do texto com e sem o caracter que você quer contar. O resultado é, a contagem de caracteres em si!

No meu caso, era algo assim. Numa célula eu tinha o texto:

1000,1001,1010,2001,3003,4000

É só um exemplo. O tamanho do texto era enorme. E eu queria saber quantos itens haviam, assumindo que eles eram separados por vírgula. Bastou eu usar:

=NÚM.CARACT(A1)-NÚM.CARACT(SUBSTITUIR(A1;”,”;””))

Isso mais 1 era a quantidade de itens separados por vírgula na célula. Voilá!

Se alguém tiver uma ideia melhor, coloque aí nos comentários, please! 🙂