O Gerador De CPF O Gerador De CPF

CPF em Google Sheets: Formatação e Validação com Apps Script

Três abordagens para trabalhar com CPF no Google Sheets: formato de célula personalizado, fórmulas nativas e funções customizadas via Apps Script. Equivalente no ecossistema Google ao guia de formatação de CPF no Excel.

Formato personalizado

Selecione as células → Formatar → Número → Formato de número personalizado. Insira:

000"."000"."000"-"00

O CPF 52998224725 será exibido como 529.982.247-25. O valor armazenado continua numérico, a formatação é apenas visual.

Funciona apenas com CPFs armazenados como número. CPFs que começam com zero (ex: 00100200300) precisam estar como número 100200300. O formato personalizado adiciona os zeros automaticamente.

Fórmulas nativas

Formatar CPF numérico

Para gerar uma string formatada a partir de um CPF numérico na célula A1:

=TEXT(A1,"000"".""000"".""000""-""00")

Extrair dígitos de CPF formatado

Se o CPF vier como texto com pontuação (529.982.247-25):

=REGEXREPLACE(A1, "[^\d]", "")

REGEXREPLACE é exclusivo do Google Sheets e não existe no Excel. Remove tudo que não é dígito.

Validar formato com regex

Para verificar se o valor tem o formato correto de CPF:

=REGEXMATCH(A1, "^\d{3}\.\d{3}\.\d{3}-\d{2}$")

Retorna TRUE se o CPF está no formato XXX.XXX.XXX-XX. Valida apenas formato, não os dígitos verificadores. Para isso, use Apps Script.

Preservar zeros à esquerda ao digitar

Prefixe com apóstrofo ('00100200300) ou formate a coluna como Texto sem formatação antes de digitar.

Apps Script: validar CPF

Apps Script permite criar funções customizadas que aparecem como fórmulas no Sheets. Abra Extensões → Apps Script e adicione:

/**
 * Valida um CPF pelo algoritmo de módulo 11.
 * Aceita CPF com ou sem máscara.
 *
 * @param {string|number} value CPF a validar
 * @return {boolean} true se o CPF for válido
 * @customfunction
 */
function VALIDAR_CPF(value) {
  if (!value && value !== 0) return false;

  var cpf = String(value).replace(/\D/g, "");

  // Padding para CPFs que perderam zeros à esquerda
  while (cpf.length < 11) cpf = "0" + cpf;

  if (cpf.length !== 11) return false;
  if (/^(\d)\1{10}$/.test(cpf)) return false;

  for (var t = 9; t < 11; t++) {
    var sum = 0;
    for (var c = 0; c < t; c++) {
      sum += Number(cpf[c]) * ((t + 1) - c);
    }
    var digit = ((10 * sum) % 11) % 10;
    if (Number(cpf[t]) !== digit) return false;
  }

  return true;
}

Uso na planilha

=VALIDAR_CPF(A1)         → TRUE ou FALSE
=VALIDAR_CPF("52998224725")  → TRUE
=VALIDAR_CPF("11111111111")  → FALSE

A anotação @customfunction faz a função aparecer no autocomplete do Sheets. O @param e @return geram a documentação que aparece ao digitar a fórmula.

Apps Script: formatar CPF

/**
 * Formata um CPF no padrão XXX.XXX.XXX-XX.
 * Aceita número ou string com/sem pontuação.
 *
 * @param {string|number} value CPF a formatar
 * @return {string} CPF formatado
 * @customfunction
 */
function FORMATAR_CPF(value) {
  if (!value && value !== 0) return "";

  var cpf = String(value).replace(/\D/g, "");
  while (cpf.length < 11) cpf = "0" + cpf;

  if (cpf.length !== 11) return "ERRO: CPF deve ter 11 dígitos";

  return cpf.slice(0, 3) + "." + cpf.slice(3, 6) + "." + cpf.slice(6, 9) + "-" + cpf.slice(9);
}

Uso na planilha

=FORMATAR_CPF(100200300)       → "001.002.003-00"
=FORMATAR_CPF("52998224725")   → "529.982.247-25"
=FORMATAR_CPF(A1)              → CPF formatado da célula A1

Apps Script: validar coluna inteira

Para validar uma lista grande de CPFs de uma vez (mais rápido que fórmula célula por célula):

function validarColunaCpf() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("A2:A"); // CPFs na coluna A, a partir da linha 2
  var values = range.getValues();
  var results = [];

  for (var i = 0; i < values.length; i++) {
    var value = values[i][0];
    if (!value && value !== 0) {
      results.push([""]);
      continue;
    }
    results.push([VALIDAR_CPF(value) ? "Válido" : "Inválido"]);
  }

  // Escreve resultados na coluna B
  sheet.getRange(2, 2, results.length, 1).setValues(results);
}

Execute via Extensões → Apps Script → executar validarColunaCpf. A função lê todos os CPFs da coluna A e escreve “Válido” ou “Inválido” na coluna B.

Diferenças em relação ao Excel

FuncionalidadeGoogle SheetsExcel
Formato personalizado000"."000"."000"-"00000"."000"."000"-"00
Fórmula TEXT=TEXT(A1,...)=TEXT(A1,...)
Regex nativoREGEXMATCH, REGEXREPLACENão disponível
Funções customizadasApps Script (JavaScript)VBA
Validação de dadosIdênticaIdêntica
Colaboração em tempo realSimLimitada

A principal vantagem do Google Sheets é o suporte nativo a regex (REGEXMATCH, REGEXREPLACE, REGEXEXTRACT), enquanto no Excel você precisa de VBA ou fórmulas complexas para o mesmo resultado.

Para gerar CPFs de teste e preencher a planilha rapidamente, use o gerador de CPF online.

Veja também: formatar CPF no Excel e regex para CPF.