Duplo traço no Excel para análise de texto: como contar palavras, frases e padrões específicos em células

O Excel não é normalmente associado à análise de texto — essa é uma área onde linguagens como Python e R parecem mais naturais. Mas com a combinação certa de funções de texto e o duplo traço, o Excel consegue realizar análises textuais surpreendentemente sofisticadas: contar quantas células contêm uma palavra específica, verificar se um texto segue um padrão, contar a frequência de cada palavra em uma lista, identificar e-mails ou CPFs válidos por padrão. Neste artigo iremos mostrar como usar o duplo traço no Excel para análises de texto avançadas que vão muito além do que a maioria dos usuários imagina ser possível.

Contando células que contêm uma palavra ou expressão específica

O CONT.SE com curinga (*palavra*) conta células que contêm uma palavra específica em qualquer posição do texto. Mas quando a condição é mais sofisticada — contar células que contêm palavra A mas não contêm palavra B, ou contar células onde a palavra está no início mas não no meio —, o CONT.SE não resolve. O duplo traço com as funções de texto NÚM.CARACT, SUBSTITUIR e LOCALIZAR resolve esses casos com precisão.

Para contar quantas células em A1:A100 contêm a palavra “urgente” (sem diferenciar maiúsculas de minúsculas): =SOMA(–(NÚM.CARACT(MAIÚSCULA(A1:A100))-NÚM.CARACT(SUBSTITUIR(MAIÚSCULA(A1:A100);”URGENTE”;””)))>0). Aqui, a lógica é: converter o texto para maiúsculas (para não diferenciar caixa), calcular o comprimento do texto original, calcular o comprimento do texto sem a palavra “URGENTE” (substituída por vazio), se a diferença for maior que zero a palavra existe no texto. O duplo traço converte essa comparação em 1/0 e a SOMA conta todas as células onde a diferença é positiva — ou seja, onde a palavra existe.

Para contar células que contêm a palavra “urgente” MAS não contêm a palavra “resolvido”: =SOMA(–(NÚM.CARACT(MAIÚSCULA(A1:A100))-NÚM.CARACT(SUBSTITUIR(MAIÚSCULA(A1:A100);”URGENTE”;””)))>0)*–(NÚM.CARACT(MAIÚSCULA(A1:A100))-NÚM.CARACT(SUBSTITUIR(MAIÚSCULA(A1:A100);”RESOLVIDO”;””)))=0)). O primeiro critério verifica a presença de “urgente” e o segundo verifica a ausência de “resolvido”. A multiplicação dos dois arrays de 1/0 resulta em 1 apenas quando a célula tem “urgente” mas não tem “resolvido” — uma busca de texto com condição negativa que o CONT.SE não consegue fazer.

DOMINE EXCEL COMIGO

QUERO APRENDER EXCEL

Contando a frequência de palavras e caracteres específicos

Uma análise de texto muito útil é contar quantas vezes uma palavra ou caractere específico aparece em todo o intervalo — não apenas em quantas células, mas o total de ocorrências. A lógica usa a diferença de comprimento com e sem a palavra: cada ocorrência da palavra removida reduz o comprimento pelo tamanho da palavra. Dividindo a diferença total pelo comprimento da palavra, você obtém o número de ocorrências.

Para contar o total de ocorrências da palavra “erro” em todas as células de A1:A100: =SOMA((NÚM.CARACT(MAIÚSCULA(A1:A100))-NÚM.CARACT(SUBSTITUIR(MAIÚSCULA(A1:A100);”ERRO”;””)))/ NÚM.CARACT(“ERRO”)). Aqui, o numerador calcula para cada célula quantos caracteres foram removidos ao eliminar todas as ocorrências de “ERRO”. Dividindo por 4 (o comprimento de “ERRO”), você obtém quantas vezes a palavra aparecia em cada célula. A SOMA totaliza as ocorrências de todas as células. Se “erro” aparece 3 vezes em uma célula e 2 em outra, o resultado é 5 ocorrências totais — não apenas 2 células.

Para contar o número total de palavras em um conjunto de células (separadas por espaços), a lógica é: o número de palavras é igual ao número de espaços mais 1 (para a última palavra). O número de espaços é o comprimento original menos o comprimento sem espaços: =SOMA(NÚM.CARACT(ARRUMAR(A1:A100))-NÚM.CARACT(SUBSTITUIR(ARRUMAR(A1:A100);” “;””))+1). O ARRUMAR remove espaços extras antes de contar, garantindo que espaços duplos não inflam a contagem. O +1 no final adiciona 1 por célula (a última palavra de cada célula não tem espaço depois). Para células vazias, o cálculo retorna 1, então você pode filtrar as vazias: =SOMA((NÚM.CARACT(ARRUMAR(A1:A100))>0)*(NÚM.CARACT(ARRUMAR(A1:A100))-NÚM.CARACT(SUBSTITUIR(ARRUMAR(A1:A100);” “;””))+1)).

Verificando padrões de texto com duplo traço

O duplo traço permite criar verificações de padrão de texto que funcionam como uma validação leve — não bloqueiam o preenchimento, mas identificam quais entradas não seguem o padrão esperado. Para verificar se um e-mail tem pelo menos um @ e um ponto após o @: =–(NÚM.CARACT(A1)-NÚM.CARACT(SUBSTITUIR(A1;”@”;””))=1)*–(LOCALIZAR(“.”;A1;LOCALIZAR(“@”;A1;1))>0). O primeiro critério verifica se há exatamente um @. O segundo verifica se há um ponto depois do @ usando LOCALIZAR para buscar o ponto apenas a partir da posição do @. Se ambos são verdadeiros, o duplo traço resulta em 1*1=1, indicando que o e-mail tem pelo menos o padrão básico.

Para verificar o padrão de CPF (apenas verificação de formato, não de validade): =–(NÚM.CARACT(SUBSTITUIR(SUBSTITUIR(A1;”.”;”-“);””;””)))=11). Aqui, SUBSTITUIR remove os pontos e o traço do CPF formatado, e NÚM.CARACT verifica se o resultado tem 11 dígitos. Um CPF no formato 000.000.000-00 tem 14 caracteres com a formatação e 11 sem. Se o resultado for 11, o duplo traço retorna 1 (formato correto), se não for, retorna 0 (formato incorreto). Usando SOMA(–(fórmula_cpf)) no intervalo, você conta quantos CPFs seguem o formato correto.

Para uma análise de qualidade de texto em um campo de descrição de produtos, você pode criar múltiplos critérios com duplo traço: comprimento mínimo (=NÚM.CARACT(A1)>=50), presença de palavras-chave obrigatórias, ausência de palavras proibidas (concorrentes, termos inadequados). Cada critério retorna 1 ou 0, e a soma total é o score de qualidade do texto daquela descrição. Produtos com score máximo têm descrições perfeitas; produtos com score baixo precisam de revisão. O duplo traço torna possível criar esse sistema de avaliação automática de qualidade de texto com fórmulas puras, sem macros ou código externo.

Extraindo e classificando texto com duplo traço e funções de texto

O duplo traço permite também classificar textos de forma automática baseada em padrões que aparecem no conteúdo. Para classificar automaticamente e-mails de clientes em categorias — “Elogio”, “Reclamação”, “Dúvida” — com base em palavras-chave presentes no texto, crie um critério de duplo traço para cada categoria e use SE aninhado ou SES para retornar a classificação: =SES(–(NÚM.CARACT(MAIÚSCULA(A1))-NÚM.CARACT(SUBSTITUIR(MAIÚSCULA(A1);”PARABÉNS”;””)))>0;”Elogio”; –(NÚM.CARACT(MAIÚSCULA(A1))-NÚM.CARACT(SUBSTITUIR(MAIÚSCULA(A1);”PROBLEMA”;””)))>0;”Reclamação”; VERDADEIRO;”Dúvida”).

Cada condição verifica se a palavra-chave existe no texto convertido para maiúsculas. O duplo traço converte a diferença de comprimento em 1/0, e a comparação >0 verifica se a palavra existe. A SES avalia as condições em ordem e retorna a primeira que for verdadeira. Com uma lista abrangente de palavras-chave por categoria, esse sistema de classificação automática de texto processa centenas de registros instantaneamente — uma tarefa que manualmente levaria horas e que com este recurso se torna completamente automática com fórmulas nativas do Excel.

Se você curtiu esse artigo onde mostramos como usar o duplo traço no Excel para análises e contagens de texto avançadas, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *