Planilhas – Fórmula para Validar CPF

Recebi esta dica de um colega, achei tão legal e válida que estou postando para compartilhar o conhecimento. Espero que seja útil! Por ser simples e já estar pronta, não irei inserir os prints da tela do sistema.

A fórmula abaixo pode ser utilizada em qualquer planilha, lembro apenas que se a ferramenta estiver em inglês, é necessário alterar as expressões (ex.: substituir o SE por IF). Aviso importante: ao copiar e colar a fórmula, lembrem-se de que será necessário alterar a referência ao campo V2, substituindo pelo campo onde foi inserido CPF que deseja validar.

=SE(E(NÚM.CARACT(V2)=11;SOMA(SE(V2=REPT({1;2;3;4;5;6;7;8;9};11);1;0))=0;SOMA(SE(ÉNÚM(VALOR(EXT.TEXTO(V2;{1;2;3;4;5;6;7;8;9;10;11};1)));0;1))=0);E(SE(OU(11-(MOD(SOMA(INT(EXT.TEXTO(V2;{1;2;3;4;5;6;7;8;9};1))*({10;9;8;7;6;5;4;3;2}));11))=10;11-(MOD(SOMA(INT(EXT.TEXTO(V2;{1;2;3;4;5;6;7;8;9};1))*({10;9;8;7;6;5;4;3;2}));11))=11);0;11-(MOD(SOMA(INT(EXT.TEXTO(V2;{1;2;3;4;5;6;7;8;9};1))*({10;9;8;7;6;5;4;3;2}));11)))=INT(EXT.TEXTO(V2;10;1));SE(OU(11-(MOD(SOMA(INT(EXT.TEXTO(V2;{1;2;3;4;5;6;7;8;9;10};1))*({11;10;9;8;7;6;5;4;3;2}));11))=10;11-(MOD(SOMA(INT(EXT.TEXTO(V2;{1;2;3;4;5;6;7;8;9;10};1))*({11;10;9;8;7;6;5;4;3;2}));11))=11);0;11-(MOD(SOMA(INT(EXT.TEXTO(V2;{1;2;3;4;5;6;7;8;9;10};1))*({11;10;9;8;7;6;5;4;3;2}));11)))=INT(EXT.TEXTO(V2;11;1)));FALSO)

Obs: A fórmula acima é uma fórmula matricial, sendo necessário inserir {} no inicio e no final – Pode ser feito clicando em “CTRL+SHIFT+ENTER”.

Para os casos que o CPF iniciar com 0 (zero) será necessário formatar o valor do campo para texto, precisa que o zero a esquerda fique na célula. Para facilitar, sugiro que o campo de entrada do CPF seja um coluna qualquer e a coluna alvo (no exemplo V2) insira uma fórmula de formatação como  TEXTO(U2;”00000000000″). Veja a imagem abaixo:

Compartilhe este post:

17 Comments

  1. Eu uso esse cálculo há mais de 30 anos, quando integrava o Depto de Auditoria da PETROBRÁS. Esse chek dígito também para CNPJ, Cartão de Crédito, RG, etc. .
    Orientação é s[ó clicar no Google: Dígito Verificador, que explica tudo.
    Professor Antonio Carlos Silva – Bel Ciências Contábeis-Auditor.

  2. Esse cálculo aplico desde 1982, quando integrava Revisão e Análise da PETROBRÁS.

    NÃO SOMENTE PARA CPF, COMO PARA CNPJ, CARTÃO DE CRÉDITO, RG, ETC. .
    PARA ENCONTRAR O CHEK DÍGITO DOS NÚMEROS (OU DÍGITO VERIFICADOR))

  3. Obrigado camila eu usei a formula e deu certo !! coloquei em uma planilha para validação do CPF onde faço contratos de orçamentos de vidros da minha loja !!

  4. A quem interessar posssa, a fórmula para Excel em inglês:

    =IF(AND(LEN(A2)=11;SUM(IF(A2=REPT({1;2;3;4;5;6;7;8;9};11);1;0))=0;SUM(IF(ISNUMBER(VALUE(MID(A2;{1;2;3;4;5;6;7;8;9;10;11};1)));0;1))=0);AND(IF(OR(11-(MOD(SUM(INT(MID(A2;{1;2;3;4;5;6;7;8;9};1))*({10;9;8;7;6;5;4;3;2}));11))=10;11-(MOD(SUM(INT(MID(A2;{1;2;3;4;5;6;7;8;9};1))*({10;9;8;7;6;5;4;3;2}));11))=11);0;11-(MOD(SUM(INT(MID(A2;{1;2;3;4;5;6;7;8;9};1))*({10;9;8;7;6;5;4;3;2}));11)))=INT(MID(A2;10;1));IF(OR(11-(MOD(SUM(INT(MID(A2;{1;2;3;4;5;6;7;8;9;10};1))*({11;10;9;8;7;6;5;4;3;2}));11))=10;11-(MOD(SUM(INT(MID(A2;{1;2;3;4;5;6;7;8;9;10};1))*({11;10;9;8;7;6;5;4;3;2}));11))=11);0;11-(MOD(SUM(INT(MID(A2;{1;2;3;4;5;6;7;8;9;10};1))*({11;10;9;8;7;6;5;4;3;2}));11)))=INT(MID(A2;11;1)));FALSE)

    • Oi Fabiane,

      O campo do CPF precisa está no formato texto. Atualizei o post com a dica e uma imagem que pode ajudar.
      Desculpa a demora em responder, a minha semana anda puxada e acabei não conseguindo responder mais rápido. De qualquer forma, espero ajudar.

Deixe uma resposta

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