Como Validar CPF com Fórmula no Excel (Dígito Verificador)

Para validar um CPF com fórmula no Excel, calcule os dois dígitos verificadores a partir dos nove primeiros números — multiplicando cada um por um peso decrescente, somando o resultado e tirando o resto da divisão por 11 — e compare o valor calculado com os dígitos realmente digitados. Se baterem os dois, o CPF é matematicamente válido.

Você recebe uma planilha de cadastro de clientes ou funcionários e precisa ter certeza de que os CPFs digitados não têm erro de digitação — números trocados, dígitos faltando ou até um CPF inventado de qualquer jeito?

Olhar CPF por CPF para conferir manualmente é impraticável em uma base com centenas de linhas, e a fórmula de validação de CPF é pouco conhecida porque, diferente de outras fórmulas do Excel, ela não é uma função pronta — é preciso reproduzir o algoritmo oficial de cálculo dos dois dígitos verificadores usando fórmulas comuns.

Neste artigo iremos mostrar como montar, passo a passo, uma fórmula que calcula os dois dígitos verificadores de um CPF e confere se eles batem com o que foi digitado, incluindo o cuidado extra com CPFs de dígitos repetidos, que passam na conta mas não são válidos.

DOMINE EXCEL COMIGO

QUERO APRENDER EXCEL

Como funciona a validação de CPF

Um CPF tem 11 dígitos: os 9 primeiros são a base, e os 2 últimos são “dígitos verificadores”, calculados matematicamente a partir dos 9 primeiros. O cálculo funciona em duas rodadas parecidas: na primeira, cada um dos 9 dígitos é multiplicado por um peso que vai de 10 até 2, os resultados são somados, e o resto dessa soma dividida por 11 define o primeiro dígito verificador (se o resto for menor que 2, o dígito é 0; caso contrário, o dígito é 11 menos o resto). Na segunda rodada, o mesmo processo se repete, mas agora com 10 dígitos (os 9 originais mais o primeiro dígito verificador já calculado), com pesos de 11 até 2, chegando ao segundo dígito verificador.

Considere o exemplo de teste amplamente usado em documentações e sistemas de desenvolvimento, o CPF 111.444.777-35, aplicando esse cálculo passo a passo:

Etapa Valor
CPF digitado 111.444.777-35
CPF só números 11144477735
Soma ponderada (pesos 10 a 2, dos 9 primeiros dígitos) 162
Resto de 162 dividido por 11 8
1º dígito verificador calculado (11 – 8) 3
Soma ponderada (pesos 11 a 2, incluindo o 1º dígito) 204
Resto de 204 dividido por 11 6
2º dígito verificador calculado (11 – 6) 5
Dígitos informados no CPF (10º e 11º) 3 e 5
Resultado CPF válido

Passo 1: limpando o CPF (removendo pontos e traço)

Supondo que o CPF esteja digitado na célula A2 (com ou sem máscara), a primeira etapa é obter só os 11 números, sem pontuação:

=SUBSTITUIR(SUBSTITUIR(A2;”.”;””);”-“;””)

Essa fórmula usa SUBSTITUIR duas vezes em sequência: a primeira remove todos os pontos, e a segunda, aplicada sobre o resultado da primeira, remove o traço — sobrando só os 11 dígitos, como texto.

Passo 2: calculando o primeiro dígito verificador

Considerando o CPF já limpo na célula B2, a soma ponderada dos 9 primeiros dígitos, com pesos de 10 a 2, é calculada assim:

=SOMARPRODUTO(VALOR(EXT.TEXTO(B2;SEQUÊNCIA(9);1));SEQUÊNCIA(9;1;10;-1))

A função SEQUÊNCIA(9) gera as posições de 1 a 9, e EXT.TEXTO(B2;posição;1) extrai o dígito de cada uma dessas posições; SEQUÊNCIA(9;1;10;-1) gera os pesos decrescentes 10, 9, 8… até 2. O SOMARPRODUTO multiplica cada dígito pelo seu peso correspondente e soma tudo. A partir dessa soma (chame o resultado de C2), o primeiro dígito verificador é:

=SE(MOD(C2;11)<2;0;11-MOD(C2;11))

Passo 3: calculando o segundo dígito verificador

O segundo dígito segue a mesma lógica, mas agora somando os 9 dígitos originais com pesos de 11 a 2 (11 até 3 para os 9 primeiros, e 2 para o primeiro dígito verificador já calculado na célula D2):

=SOMARPRODUTO(VALOR(EXT.TEXTO(B2;SEQUÊNCIA(9);1));SEQUÊNCIA(9;1;11;-1))+D2*2

E, a partir dessa soma (chame de E2), o segundo dígito verificador:

=SE(MOD(E2;11)<2;0;11-MOD(E2;11))

Passo 4: comparando com os dígitos informados

Por fim, compare os dois dígitos calculados (D2 e F2) com o 10º e o 11º caractere do CPF limpo, e acrescente uma verificação extra para rejeitar CPFs com todos os 11 dígitos iguais (que passam na conta, mas são inválidos por regra):

=SE(B2=REPT(ESQUERDA(B2;1);11);”CPF inválido (dígitos repetidos)”;SE(E(D2=VALOR(EXT.TEXTO(B2;10;1));F2=VALOR(EXT.TEXTO(B2;11;1)));”CPF válido”;”CPF inválido”))

A parte B2=REPT(ESQUERDA(B2;1);11) verifica se o CPF é o primeiro dígito repetido 11 vezes (como “11111111111”), o que rejeita casos como 111.111.111-11 mesmo que a conta dos dígitos verificadores desse certo matematicamente.

Bônus: a fórmula inteira em uma única célula (com LET)

Para quem já usa o Microsoft 365 e prefere uma única fórmula, sem colunas auxiliares, a função LET permite nomear cada etapa dentro da própria fórmula:

=LET(cpf;SUBSTITUIR(SUBSTITUIR(A2;”.”;””);”-“;””);dig;VALOR(EXT.TEXTO(cpf;SEQUÊNCIA(11);1));soma1;SOMARPRODUTO(ÍNDICE(dig;SEQUÊNCIA(9));SEQUÊNCIA(9;1;10;-1));dv1;SE(MOD(soma1;11)<2;0;11-MOD(soma1;11));soma2;SOMARPRODUTO(ÍNDICE(dig;SEQUÊNCIA(9));SEQUÊNCIA(9;1;11;-1))+dv1*2;dv2;SE(MOD(soma2;11)<2;0;11-MOD(soma2;11));SE(EXATO(cpf;REPT(ESQUERDA(cpf;1);11));”CPF inválido (dígitos repetidos)”;SE(E(dv1=ÍNDICE(dig;10);dv2=ÍNDICE(dig;11));”CPF válido”;”CPF inválido”)))

Essa versão faz exatamente os mesmos quatro passos explicados acima, só que tudo dentro de uma única célula, com cada etapa nomeada (cpf, dig, soma1, dv1, soma2, dv2) para ficar mais fácil de ler e revisar depois.

Diferença para a máscara de CPF

Este artigo resolve um problema diferente do nosso artigo sobre máscara de CPF e CNPJ: a máscara só formata visualmente o número, adicionando pontos e traço (000.000.000-00), sem checar se os dígitos fazem sentido matematicamente. Já a validação mostrada aqui não se importa com a aparência — ela confirma se os dígitos verificadores batem com o algoritmo oficial. As duas técnicas resolvem problemas diferentes e podem, inclusive, ser usadas juntas na mesma planilha.

Disponibilidade

A validação com colunas auxiliares (Passos 1 a 4) funciona em qualquer versão do Excel a partir do 2019, já que a função SEQUÊNCIA foi introduzida nessa versão como parte das matrizes dinâmicas — em versões anteriores, é necessário confirmar as fórmulas de soma ponderada com Ctrl+Shift+Enter, trocando SEQUÊNCIA por LINHA(INDIRETO()). A fórmula com LET exige o Microsoft 365. No Google Sheets, a mesma lógica funciona substituindo SEQUÊNCIA por ARRAYFORMULA(ROW(INDIRECT())) e LET por LAMBDA, com pequenos ajustes de sintaxe.

Erros comuns ao validar CPF

Um erro comum é esquecer de limpar a pontuação antes de extrair os dígitos — se a célula tiver pontos e traço, o EXT.TEXTO extrai o caractere errado, contando “.” ou “-” como se fosse um dos 11 dígitos. Outro erro frequente é confundir os pesos das duas rodadas: a primeira usa pesos de 10 a 2, a segunda usa pesos de 11 a 2 — trocar essa ordem faz a fórmula aprovar CPFs inválidos ou rejeitar CPFs válidos por engano.

Perguntas frequentes

Essa fórmula garante que o CPF existe de verdade, ou só que ele está bem formado?

Só que está bem formado — ou seja, que os dois últimos dígitos batem com o cálculo esperado a partir dos nove primeiros. É o mesmo tipo de checagem matemática que sistemas online fazem antes de consultar uma base oficial. Confirmar se um CPF realmente existe e está ativo só é possível consultando a Receita Federal, o que a fórmula do Excel não faz.

Por que preciso testar se todos os dígitos são iguais (como 111.111.111-11)?

Porque números com os 11 dígitos repetidos (111.111.111-11, 222.222.222-22 e assim por diante) passam matematicamente pela conta dos dígitos verificadores, mas são considerados inválidos pela regra oficial da Receita Federal. Sem esse teste extra, a fórmula aprovaria por engano esses números claramente inválidos.

Essa fórmula é diferente da máscara de CPF que vocês já ensinaram em outro artigo?

Sim, são dois problemas bem diferentes. A máscara de CPF e CNPJ só cuida da aparência visual do número (adicionando pontos e traço automaticamente), sem checar se os dígitos fazem sentido matematicamente. Este artigo aqui faz o oposto: calcula e confere os dígitos verificadores, sem se importar com a formatação visual do texto.

Compartilhe ou Comente

Se você curtiu esse artigo aonde mostramos como validar CPF com fórmula no Excel, calculando os dígitos verificadores sem macro nem complemento, 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.

Você usa essa validação para conferir cadastros de clientes, funcionários ou outro tipo de base? Já tinha visto o algoritmo oficial do dígito verificador do CPF explicado passo a passo antes? Conta para nós nos comentários!

Deixe um comentário

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