Excel & Google Planilhas

Fórmula para validar CNPJ 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.

CNPJ tem o mesmo tipo de problema que CPF: dois dígitos verificadores calculados a partir dos outros doze por um algoritmo de módulo 11, sem função pronta no Excel ou no Google Planilhas. A fórmula dá pra montar com SUMPRODUCT, sem plugin nem macro — mas, assim como no CPF, ela sozinha não garante uma planilha limpa. No fim do artigo eu conto onde ela para.

Como funciona a validação de CNPJ

Um CNPJ tem 14 dígitos: 12 dígitos "base" mais 2 dígitos verificadores. Cada um é calculado multiplicando os dígitos anteriores por pesos específicos, 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

Assumindo que o CNPJ (só números, sem pontuação) está na célula A2:

CélulaO que calculaFórmula
B2 Soma ponderada dos 12 primeiros dígitos (pesos 5,4,3,2,9,8,7,6,5,4,3,2) =SUMPRODUCT(MID(A2,ROW(INDIRECT("1:12")),1)*1,{5;4;3;2;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 6,5,4,3,2,9,8,7,6,5,4,3, mais o 1º dígito × 2) =SUMPRODUCT(MID(A2,ROW(INDIRECT("1:12")),1)*1,{6;5;4;3;2;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 CNPJ válido? =AND(LEN(A2)=14,VALUE(MID(A2,13,1))=C2,VALUE(MID(A2,14,1))=E2)
Se o CNPJ vier formatado (com pontos, barra e traço) Antes da coluna B, limpe a formatação numa célula auxiliar: =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,".",""),"/",""),"-",""). Use o resultado dessa célula no lugar de A2 nas fórmulas acima.

Testando com um CNPJ real (Petrobras, dado público — 33.000.167/0001-01):

33.000.167/0001-01 → 1º dígito calculado: 0 ✓ · 2º dígito calculado: 1 ✓ · válido

Já com o último dígito trocado, 33.000.167/0001-02, a fórmula pega o erro:

33.000.167/0001-02 → 2º dígito calculado é 1, mas o CNPJ tem 2 → 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 — ou que a empresa existe de verdade:

Quer conferir um CNPJ isolado e já ver o nome da empresa, sem montar nada disso? Tem um validador de CNPJ gratuito que confere o dígito e busca a razão social na hora, direto do navegador.

Se é uma planilha inteira, não uma célula

O Zolyx faz essa conta (e a de CPF, telefone e e-mail) pra planilha inteira de uma vez — incluindo recuperar o zero à esquerda perdido e rejeitar sequências como 11.111.111/1111-11 — sem fórmula nenhuma pra manter.

Testar com minha planilha