Selecione Todos Os Números Divisíveis Por 9 - Selecione todos os números que têm 9 como divisor: 3 9 27 66 120 180 ...
Selecione todos os números que têm 9 como divisor: 3 9 27 66 120 180 ...

Como filtrar valores múltiplos de 9 em planilhas

Você já tentou selecionar apenas os números divisíveis por 9 num dataset bagunçado? Funciona, mas exige um passo que muita gente não pensa na hora.

Selecione todos os números divisíveis por 9

O critério é simples: um número é divisível por 9 quando o resto da divisão por 9 é zero. Na prática, eu uso a função RESTO ou MOD, dependendo do software. No Excel, a fórmula fica =RESTO(A1;9)=0. No Google Sheets, =MOD(A1,9)=0. O resultado é VERDADEIRO ou FALSO, que vira filtro. Aqui vai o caminho mais direto. Criei uma coluna auxiliar ao lado dos dados, apliquei a fórmula acima e arrastei até o final. Depois, apliquei um filtro nessa nova coluna e deixei só os VERDADEIRO. O tempo real costuma ficar entre 2 e 4 minutos para tabelas de até 5 mil linhas. Mais que isso e a planilha começa a engasgar no recálculo automático.

Um detalhe que pega muita gente: números decimais. A divisibilidade por 9 só faz sentido rigoroso para inteiros. Se a sua coluna tem valores como 18,5 ou 27,3, o resto nunca será exatamente zero por causa da representação binária. Já perdi uma tarde tentando encontrar um padrão que não existia. A solução foi arredondar para o inteiro mais próximo primeiro, com =ARREDONDAR(A1;0), e só então aplicar a fórmula de divisibilidade. Isso resolve na maior parte dos casos reais.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Detalhes que importam

Existem duas armadilhas comuns que todo mundo esquece. A primeira são os valores negativos. O resto de -18 dividido por 9 dá zero em todas as implementações que eu já vi, mas alguns sistemas mais antigos de BI podem retornar -9 ou algo assim. Sempre verifique com uma amostra antes de confiar no resultado final. A segunda armadilha são as células vazias ou com texto. Se você não tratá-las, a maioria das fórmulas acima retorna erro. Use UMA.NÃO.DISPONÍVEL ou SE.ERRO para ignorar esses casos. Fica mais limpo. Outro ponto prático: quando o filtro já está aplicado, não precisa manter a coluna auxiliar visível. Você pode escondê-la. Mas não apague enquanto estiver ainda testando. Eu já apaguei sem querer e precisei reconstruir tudo porque o filtro parecia sumir sozinho. Planilhas podem ter memória curta quando o usuário está cansado.

Alternativa via expressão regular

Se o seu ambiente permite regex, dá pra usar a regra de soma dos dígitos. Um número é divisível por 9 se a soma dos seus dígitos for divisível por 9. Isso funciona especialmente bem em scripts Python ou em ferramentas de transformação de dados que processam texto puro. A regex ^[0-9]+[extract_itex]filtra só inteiros, mas o teste real precisa ser feito com programação mesmo, porque regex puro não soma dígitos de forma confiável. Usei isso em um job de ETL onde os dados vinham como strings codificadas. Converto para inteiro, aplico n % 9 == 0 e pronto. Leva cerca de 12 segundos para 200 mil registros num notebook médio, o que é aceitável para pipelines diários.

Limitações reais

Esse método não escala bem para conjuntos enormes sem ferramentas adequadas. Se você tem milhões de linhas num banco relacional, colocar essa lógica direto na planilha vai travar tudo. Nesses casos, prefiro uma consulta SQL com WHERE MOD(coluna, 9) = 0, ou equivalente conforme o SGBD. No PostgreSQL, por exemplo, o operador MOD funciona direto. No SQL Server, use %, que é o operador de resto. A diferença de performance entre processar na aplicação e processar no banco pode ser de horas para segundos, dependendo do tamanho. Também vale lembrar que divisibilidade por 9 não preserva ordem nem estabilidade de classificação. Se você precisa manter a posição original dos registros após o filtro, use uma coluna de índice antes de filtrar, senão a referência perde o sentido. Em resumo, a abordagem com coluna auxiliar e fórmula de resto é a mais rápida para uso cotidiano. Para volume maior ou automação, migre para SQL ou script. E trate décimos e células inválidas antes de qualquer coisa. O resto quase se resolve sozinho.