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. Ideal para formatar CPFs obtidos no gerador de CPF online ou importados de sistemas. 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.