Excel & Google Planilhas

Fórmula para validar CPF no Excel e Google Planilhas

Passo a passo com a fórmula real (sem plugin, sem VBA) — e os limites dela que a maioria dos tutoriais não conta.

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:

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élulaO que calculaFó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)
Se o CPF vier formatado (com pontos e traço) Antes da coluna B, limpe a formatação numa célula auxiliar: =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):

111.444.777-35 → 1º dígito calculado: 3 ✓ · 2º dígito calculado: 5 ✓ · válido

Já com o último dígito trocado, 111.444.777-36, a fórmula pega o erro:

111.444.777-36 → 2º dígito calculado é 5, mas o CPF tem 6 → inválido

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:

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