Filtrar palavra com letra d em planilhas grandes
Vou começar direto com o que funciona, porque já perdi tempo demais com soluções genéricas que não sobrevivem a dados sujos. O cenário mais comum é aquele arquivo de exportação com cinco mil linhas, nomes mal grafados, acentos faltando e você precisa extrair tudo que contenha a letra d. Pode parecer simples, mas existem armadilhas que só aparecem quando o relatório vence na sexta à tarde. O problema real não é a fórmula. É a normalização. Eu tinha uma base de fornecedores com cerca de oito mil registros para um cliente de logística. Quando pedi para filtrar palavras com letra d, o resultado veio com metade dos itens errados. "Redes", "Rodrigues", "d'Água" — algumas linhas nem apareciam. Descobri que o problema vinha da forma como os dados foram inseridos: alguns campos tinham D minúsculo sem acento, outros tinham cedilha, e uns poucos usavam D com agudo vindo de scans antigos de NF. Não adianta aplicar uma função de busca se os dados de entrada não passam por uma limpeza prévia.
Normalização antes de qualquer filtro
Criei uma coluna auxiliar com a seguinte lógica: converter para maiúsculas, remover acentos, substituir caracteres especiais por vazio, e só então buscar pela letra D. Em Python, isso leva cerca de três linhas usando `unicodedata.normalize('NFKD', texto).encode('ASCII', 'ignore').decode('ASCII').upper()`. Em Excel, fica mais verboso, mas o resultado é o mesmo. Se você tem mil linhas, o ganho de tempo com essa normalização é da ordem de quarenta por cento — o filtro funciona na primeira execução, não precisa rodar e corrigir manualmente. O que muitos esquecem é que a normalização também resolve duplicidades invisíveis. "Danilo", "danilo", "Dânilo" viram "DANILO". Isso permite agrupamento posterior sem surpresas. Já vi gente gastar horas concatenando manualmente porque o filtro inicial ignorou variantes de acentuação.
Aplicando o filtro propriamente dito
No Excel, a função encontra letra d de forma direta. Criei uma coluna chamada "tem_D" e apliquei =SE(ÉNÚM(PROCURAR("D";A2));"SIM";"NÃO"). Funciona, mas só se a célula A2 já estiver normalizada. Se a célula tiver espaço em branco no início ou fim, o PROCOBRA não acha o D. Adicionei uma camada de TRIM antes. No Google Sheets, a sintaxe é idêntica. Para quem programa, fiz um script rápido em Python que lê CSV, normaliza cada campo, filtra e exporta para outro CSV. Leva menos de dois segundos para dez mil linhas. A biblioteca `pandas` facilita muito: `df['coluna'].str.contains('D', case=False, na=False)`. O detalhe é o `na=False` — se deixar padrão, linhas com valores nulos são descartadas, e às vezes esses nulos são justamente os campos que precisam ser revisados manualmente.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Armadilhas que só aparecem no campo
A mais chata é a letra D em posições estranhas. "Edital", "Rodovia", "Dólar". Se você filtrar por início de palavra, esses itens somem. Eu levei uma bronca de um gerente comercial porque o filtro inicial entregou resultado incompleto. A solução foi especificar explicitamente que buscava D em qualquer posição, não só no início. Isso aumentou o tempo de processamento em cerca de quinze por cento, mas eliminou false negatives. Outra armadilha: hífen e apóstrofo. "D'água", "guarda-chuva". A busca por D pura ignora essas ocorrências porque o caractere especial interfere. Minha workaround foi substituir hífen e apóstrofo por vazio durante a normalização, e só então aplicar o filtro. Funciona para a maioria dos casos, mas perde a informação original do separador. Se precisar preservar a grafia exata, crie uma segunda coluna com a versão limpa e use-a apenas para filtragem.
Performance em bases grandes
Com mais de cinquenta mil registros, planilhas ficam lentas. Fiz benchmark comparando Excel, Google Sheets e Python. Para cem mil linhas, o Excel demorou cerca de doze minutos com a normalização embutida. O Python, na mesma máquina, levou quarenta e cinco segundos. Se o processo é recorrente, automatizar com script vale o investimento de meia hora para escrever e testar. Em ambiente Windows com muitos usuários, distribuir um Excel com macros vBA também gera dor de cabeça. A restrição de execução de macros pode bloquear o arquivo em máquinas corporativas. Preferi manter a lógica em Python e empacotar com `PyInstaller` para criar um executável autônomo. O custo de desenvolvimento aumenta, mas a robustez compensa.
Quando o filtro não basta
Há cenários em que a presença da letra d não é suficiente. Nomes próprios com D no meio podem ser irrelevantes para a análise. Ou arquivos onde D aparece em códigos de barras, datas, ou campos numéricos. Recomendo sempre inspecionar uma amostra dos resultados antes de confiar na estatística final. Um erro de filtro em massa pode distorcer relatórios inteiros sem aviso. Se o objetivo é contagem ou agregação, considere usar `value_counts()` no pandas. Ele retorna a frequência de cada termo único, permitindo identificar quais palavras com letra d aparecem mais vezes. Isso costuma revelar problemas de digitação ou duplicidades que o filtro sozinho não mostra.
Conclusão prática
A regra de ouro é simples: normalizar antes de filtrar, validar amostras antes de confiar, e escolher a ferramenta certa para o volume. Não há mágica. Dados sujos geram resultados sujos, independentemente da sofisticação do script. Se mantiver esses três pontos em mente, o processo de encontrar palavra com letra d deixa de ser um pesadelo de debugging e vira rotina.