Validar CPF numa planilha parece simples até você tentar de verdade: o CPF tem dois "dígitos verificadores" calculados a partir dos outros nove por um algoritmo específico (módulo 11), e não tem uma função pronta no Excel ou no Google Planilhas pra isso. A boa notícia é que dá pra montar essa conta com fórmulas comuns, sem plugin nem macro. A má notícia é que a fórmula sozinha não resolve tudo — no fim do artigo eu conto onde ela falha.
Como funciona a validação de CPF
Um CPF tem 11 dígitos: 9 dígitos "base" mais 2 dígitos verificadores. Cada dígito verificador é calculado multiplicando os dígitos anteriores por pesos decrescentes, somando tudo, e aplicando o resto da divisão por 11:
- 1º dígito verificador (10ª posição): usa os 9 primeiros dígitos com pesos 10, 9, 8, 7, 6, 5, 4, 3, 2.
- 2º dígito verificador (11ª posição): usa os 10 primeiros dígitos (os 9 originais + o 1º verificador) com pesos 11, 10, 9, 8, 7, 6, 5, 4, 3, 2.
Em ambos os casos: se o resto da divisão por 11 for menor que 2, o dígito verificador é 0; senão, é 11 menos o resto.
A fórmula, passo a passo
Em vez de uma fórmula gigante numa célula só (que ninguém consegue revisar depois), monta em colunas auxiliares — fica mais fácil de entender e de corrigir se algo dá errado. Assumindo que o CPF (só números, sem pontuação) está na célula A2:
| Célula | O que calcula | Fórmula |
|---|---|---|
| B2 | Soma ponderada dos 9 primeiros dígitos (pesos 10→2) | =SUMPRODUCT(MID(A2,ROW(INDIRECT("1:9")),1)*1,{10;9;8;7;6;5;4;3;2}) |
| C2 | 1º dígito verificador | =IF(MOD(B2,11)<2,0,11-MOD(B2,11)) |
| D2 | Soma ponderada pro 2º dígito (pesos 11→3, mais o 1º dígito × 2) | =SUMPRODUCT(MID(A2,ROW(INDIRECT("1:9")),1)*1,{11;10;9;8;7;6;5;4;3})+C2*2 |
| E2 | 2º dígito verificador | =IF(MOD(D2,11)<2,0,11-MOD(D2,11)) |
| F2 | CPF válido? | =AND(LEN(A2)=11,VALUE(MID(A2,10,1))=C2,VALUE(MID(A2,11,1))=E2) |
=SUBSTITUTE(SUBSTITUTE(A2,".",""),"-",""). Use o resultado dessa célula no lugar de A2 nas fórmulas acima.
Testando com um CPF real e válido, 111.444.777-35 (número de teste bem conhecido, não é de ninguém):
Já com o último dígito trocado, 111.444.777-36, a fórmula pega o erro:
Onde essa fórmula não é suficiente
Ela confere a matemática certinho, mas não é a mesma coisa que garantir que os dados da sua planilha estão limpos:
- Sequências como 111.111.111-11 passam na conta. Matematicamente o dígito verificador bate, mas esses números nunca foram emitidos de verdade — são usados em teste e às vezes em cadastro "qualquer" de sistemas mal validados. Um validador de verdade precisa rejeitar explicitamente todo CPF com os 11 dígitos iguais, o que a fórmula acima não faz sozinha.
- Zero à esquerda some quando o CPF está numa coluna numérica. Se alguém colou o CPF como número em vez de texto, o Excel apaga o zero inicial (
01234567890vira1234567890, com 10 dígitos em vez de 11) — e as fórmulas acima simplesmente vão dar erro de tamanho, não vão "adivinhar" o zero perdido. - Copiar a fórmula pra cada linha, de novo, toda vez que a planilha muda. Funciona bem pra conferir um CPF isolado; numa planilha de milhares de linhas com dado novo toda semana, vira manutenção constante.
- Não corrige nada — só aponta o problema. A fórmula te diz que uma linha está inválida, mas não remove duplicata, não formata telefone, não arruma e-mail. É uma peça do quebra-cabeça, não a limpeza inteira.
Quer conferir um CPF isolado sem montar nada disso? Tem um validador de CPF gratuito que já faz essa conta na hora, direto no navegador.
Se é uma planilha inteira, não uma célula
O Zolyx faz essa conta (e a de telefone e e-mail) pra planilha inteira de uma vez — incluindo recuperar o zero à esquerda perdido e rejeitar sequências como 111.111.111-11 — sem fórmula nenhuma pra manter.
Testar com minha planilha