Solução profissional em Excel: painel de contas a receber e inadimplência (passo a passo, com todas as fórmulas)

Do arquivo bruto do ERP ao painel que a diretoria lê em 30 segundos: Power Query, Tabela Dinâmica, PROCX, SOMASES, SES, DIAS, formatação condicional por aging e uma macro de atualização. Cada comando escrito na íntegra, na ordem em que deve ser digitado, com os benefícios de cada etapa.
O problema real: a empresa vende, fatura e não sabe quem deve
Em quase toda pequena e média empresa existe um relatório de contas a receber. O que quase nunca existe é uma leitura confiável dele: quanto está vencido, há quantos dias, de quais clientes, e qual é o risco concentrado nos cinco maiores devedores.
O que costuma acontecer é o financeiro exportar um arquivo do ERP, colar em uma planilha nova todo mês, pintar de vermelho as linhas atrasadas na mão e mandar por e-mail. O número muda a cada exportação, ninguém consegue auditar e a cobrança acontece por memória, não por processo.
A solução descrita abaixo é a que implantamos em clientes reais. Ela usa apenas Excel (versão Microsoft 365 ou Excel 2021) e leva cerca de duas horas para ser montada na primeira vez. Depois disso, atualizar o painel inteiro custa um clique.
Etapa 1 — Padronizar a base bruta do ERP
Crie uma pasta fixa no computador ou no OneDrive, por exemplo C:\Financeiro\Base, e salve ali sempre com o mesmo nome o arquivo exportado do ERP: titulos.csv. O nome fixo é o que permite atualizar tudo depois com um clique.
A base precisa de sete colunas, exatamente com estes títulos na primeira linha:
NumeroTitulo— identificador do documento (nota, duplicata, boleto)CodigoCliente— código do cliente no ERPDataEmissao— data de emissãoDataVencimento— data de vencimentoValorOriginal— valor do títuloValorRecebido— valor já baixadoVendedor— responsável comercial
Uma segunda base, clientes.xlsx, traz CodigoCliente, RazaoSocial, Regiao e LimiteCredito. Ela é o cadastro, não muda todo dia.
Etapa 2 — Importar e limpar com Power Query (sem digitar nada duas vezes)
Aqui está o ponto que separa uma planilha amadora de uma solução profissional: a limpeza não é feita à mão, é gravada como um passo que se repete sozinho.
No Excel, siga exatamente esta sequência de comandos:
- Dados → Obter Dados → De Arquivo → De Texto/CSV → selecione
titulos.csv→ botão Transformar Dados (nunca "Carregar" direto). - No Editor do Power Query, clique com o botão direito na coluna
DataVencimento→ Alterar Tipo → Usando Localidade → Data → Português (Brasil). Isso elimina o clássico erro de dia/mês invertido. - Selecione
ValorOriginaleValorRecebido→ Alterar Tipo → Número Decimal. - Página Inicial → Remover Linhas → Remover Linhas em Branco e depois Remover Duplicatas com a coluna
NumeroTituloselecionada. - Adicionar Coluna → Coluna Personalizada, nome
Saldo, fórmula:= [ValorOriginal] - [ValorRecebido] - Página Inicial → Manter Linhas → Filtros de Número → Maior que → 0 na coluna
Saldo(títulos quitados saem da análise). - Repita a importação para
clientes.xlsxe depois use Página Inicial → Mesclar Consultas: títulos à esquerda, clientes à direita, chaveCodigoCliente, tipo de junção Externa Esquerda. Expanda apenasRazaoSocial,RegiaoeLimiteCredito. - Página Inicial → Fechar e Carregar Em… → Somente Criar Conexão + marque Adicionar ao Modelo de Dados.
Benefício: a partir de agora, trocar o arquivo titulos.csv e clicar em Dados → Atualizar Tudo refaz limpeza, junção e cálculo em segundos, sempre da mesma forma. Zero PROCV manual, zero risco de arrastar fórmula errado.
Etapa 3 — As colunas de inteligência (as fórmulas que fazem o diagnóstico)
Carregue também uma cópia da consulta em uma planilha chamada Base, como Tabela (o Power Query já entrega em formato de Tabela). Renomeie a tabela em Design da Tabela → Nome da Tabela para tblTitulos. Trabalhar com nome de tabela, e não com A1:H5000, é o que impede a planilha de quebrar quando a base cresce.
Agora adicione as colunas calculadas. Digite a fórmula na primeira linha da coluna: em uma Tabela, o Excel replica automaticamente para todas as linhas.
Coluna "DiasAtraso"
=SE([@DataVencimento]>=HOJE(); 0; DIAS(HOJE(); [@DataVencimento]))
Coluna "Situacao"
=SE([@DiasAtraso]=0; "Em dia"; "Vencido")
Coluna "Faixa" (aging)
=SES([@DiasAtraso]=0; "A vencer";
[@DiasAtraso]<=30; "1 a 30 dias";
[@DiasAtraso]<=60; "31 a 60 dias";
[@DiasAtraso]<=90; "61 a 90 dias";
VERDADEIRO; "Acima de 90 dias")
Coluna "Cliente" (quando o cadastro está em outra tabela)
=PROCX([@CodigoCliente]; tblClientes[CodigoCliente]; tblClientes[RazaoSocial]; "Cadastro ausente"; 0)
Coluna "ProvisaoPerda" (PCLD simplificada por faixa)
=[@Saldo] * SES([@DiasAtraso]<=60; 0;
[@DiasAtraso]<=90; 0,25;
[@DiasAtraso]<=180; 0,5;
VERDADEIRO; 1)
Três detalhes profissionais: PROCX substitui o PROCV porque aceita valor padrão quando não encontra e não depende da posição da coluna; SES elimina o aninhamento ilegível de vários SE; e HOJE() faz o aging se recalcular sozinho todo dia que a planilha abre.
Etapa 4 — Os indicadores do topo do painel
Crie uma planilha chamada Painel. No topo dela ficam os números que a diretoria olha primeiro. Todos usam funções de agregação condicional sobre a tabela — nada é digitado à mão.
Carteira total em aberto
=SOMA(tblTitulos[Saldo])
Total vencido
=SOMASES(tblTitulos[Saldo]; tblTitulos[Situacao]; "Vencido")
Percentual de inadimplência
=SEERRO(SOMASES(tblTitulos[Saldo]; tblTitulos[Situacao]; "Vencido")
/ SOMA(tblTitulos[Saldo]); 0)
Quantidade de títulos vencidos
=CONT.SES(tblTitulos[Situacao]; "Vencido")
Vencido acima de 90 dias
=SOMASES(tblTitulos[Saldo]; tblTitulos[Faixa]; "Acima de 90 dias")
Prazo médio de atraso ponderado pelo valor
=SEERRO(SOMARPRODUTO(tblTitulos[DiasAtraso]; tblTitulos[Saldo])
/ SOMA(tblTitulos[Saldo]); 0)
Provisão total para perdas
=SOMA(tblTitulos[ProvisaoPerda])
Maior devedor da carteira
=ÍNDICE(tblTitulos[Cliente];
CORRESP(MÁXIMO(SOMASES(tblTitulos[Saldo]; tblTitulos[Cliente]; tblTitulos[Cliente]));
SOMASES(tblTitulos[Saldo]; tblTitulos[Cliente]; tblTitulos[Cliente]); 0))
Top 5 clientes por valor em aberto (Microsoft 365)
=CLASSIFICAR(ÚNICO(tblTitulos[Cliente]); 1; 1) ' lista de clientes
=SOMASES(tblTitulos[Saldo]; tblTitulos[Cliente]; H10#) ' valor de cada um
Formate o percentual em Página Inicial → Porcentagem com uma casa decimal, e os valores em Contábil sem casas decimais. Legibilidade também é parte do resultado.
Etapa 5 — Aging visual com formatação condicional
O olho precisa encontrar o problema antes da leitura. A regra abaixo pinta a linha inteira do título conforme o atraso, e não apenas a célula.
- Selecione todas as linhas de dados da tabela (clique no canto superior esquerdo da tabela, duas vezes).
- Página Inicial → Formatação Condicional → Nova Regra → Usar uma fórmula que determine as células a serem formatadas.
- Fórmula para atraso crítico:
=$K2>90(onde K é a colunaDiasAtraso) → Formatar → Preenchimento vermelho claro. - Nova regra para atenção:
=E($K2>0;$K2<=90)→ preenchimento âmbar. - Nova regra para limite de crédito estourado:
=SOMASES(tblTitulos[Saldo];tblTitulos[Cliente];$D2)>$N2→ borda vermelha e negrito. - Em Gerenciar Regras, marque Parar se Verdadeiro na regra crítica para evitar sobreposição.
Benefício: o analista deixa de perder tempo procurando o que está errado. Ele abre a planilha e o problema já está apontando para ele.
Etapa 6 — Tabela Dinâmica, segmentação e gráfico
A tabela dinâmica é o que transforma cinco mil linhas em uma resposta de uma linha.
- Inserir → Tabela Dinâmica → De Tabela/Intervalo →
tblTitulos→ destino: planilhaPainel, célula A20. - Arraste
Regiaopara Linhas,Faixapara Colunas eSaldopara Valores (resumo por Soma). - Clique com o botão direito no campo de valores → Mostrar Valores Como → % do Total da Linha para ler a qualidade da carteira de cada região.
- Análise de Tabela Dinâmica → Inserir Segmentação de Dados → marque
VendedoreRegiao. - Análise de Tabela Dinâmica → Inserir Linha do Tempo →
DataVencimento, agrupada por mês. - Inserir → Gráfico de Colunas Empilhadas a partir da dinâmica; nas Conexões de Relatório da segmentação, marque todas as dinâmicas para que um clique filtre o painel inteiro.
Etapa 7 — Régua de cobrança automática (texto pronto para enviar)
O painel só gera dinheiro quando vira ação. Esta fórmula monta a mensagem de cobrança já personalizada, pronta para ser copiada para o e-mail ou o WhatsApp do financeiro.
Coluna "AcaoCobranca"
=SES([@DiasAtraso]=0; "Nenhuma";
[@DiasAtraso]<=7; "Lembrete cordial";
[@DiasAtraso]<=30; "Contato telefônico";
[@DiasAtraso]<=60; "Notificação formal";
VERDADEIRO; "Negativação / jurídico")
Coluna "Mensagem"
=CONCAT("Olá, "; [@Cliente]; ". Consta em aberto o título ";
[@NumeroTitulo]; " no valor de ";
TEXTO([@Saldo]; "R$ #.##0,00"); ", vencido em ";
TEXTO([@DataVencimento]; "dd/mm/aaaa"); " (";
[@DiasAtraso]; " dias). Podemos regularizar hoje?")
Use Dados → Validação de Dados → Lista na coluna de status de negociação (Aguardando, Prometido, Renegociado, Quitado) para padronizar o retorno do time — texto livre destrói qualquer relatório.
Etapa 8 — Macro de atualização em um clique
Salve o arquivo como Pasta de Trabalho Habilitada para Macro (.xlsm). Pressione ALT+F11, use Inserir → Módulo e cole o código abaixo. Depois volte ao painel, insira uma forma (Inserir → Formas), clique com o botão direito nela e escolha Atribuir Macro → AtualizarPainel.
Sub AtualizarPainel()
Dim pt As PivotTable
Dim ws As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
' 1) Atualiza as consultas do Power Query
ThisWorkbook.RefreshAll
DoEvents
' 2) Recalcula tudo e atualiza as tabelas dinâmicas
Application.CalculateFullRebuild
For Each ws In ThisWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
Next pt
Next ws
' 3) Carimba data e hora da atualização
ThisWorkbook.Sheets("Painel").Range("B2").Value = _
"Atualizado em " & Format(Now, "dd/mm/yyyy hh:mm")
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "Painel atualizado com sucesso.", vbInformation
End Sub
Proteja as planilhas de cálculo em Revisão → Proteger Planilha, deixando desbloqueadas apenas as células de entrada. Isso evita a causa número um de erro em planilhas corporativas: alguém digitar um número por cima de uma fórmula.
Os benefícios: o que muda na prática
Não se trata de deixar a planilha bonita. Trata-se de mudar como a empresa decide.
- Tempo: a rotina mensal de montar o relatório (de 6 a 8 horas na média dos nossos clientes) cai para menos de 5 minutos, porque virou um botão.
- Confiabilidade: a limpeza é sempre a mesma. O número da segunda-feira é o mesmo da sexta-feira, e é auditável passo a passo no Power Query.
- Caixa: a régua de cobrança por faixa de atraso antecipa o contato. Em carteiras de PMEs, agir na faixa de 1 a 30 dias costuma recuperar a maior parte do que viraria perda em 90 dias.
- Risco: a provisão por faixa mostra a perda provável antes dela acontecer, e o cruzamento com limite de crédito bloqueia venda nova para quem já deve.
- Gestão comercial: a dinâmica por vendedor e região revela quem vende bem e recebe mal — informação que o relatório de faturamento nunca mostra.
- Escalabilidade: quando a base passar de algumas centenas de milhares de linhas, a mesma lógica migra para SQL sem refazer nada: as regras já estão escritas e documentadas.
Quer montar essa solução do zero, com acompanhamento?
Todas as técnicas usadas aqui — Tabelas, PROCX, SOMASES, SES, formatação condicional, validação, Tabela Dinâmica, Power Query, Power Pivot, macros e a ponte com Power BI — são ensinadas passo a passo no Pacote Excel Corporativo da Koda Digital, com planilhas prontas, exercícios interativos e projeto final de MRP.
Se a sua base já cresceu além do Excel, o caminho natural é o SQL: nosso curso de SQL para analistas ensina a escrever as mesmas regras direto no banco de dados.
Referências e ferramentas citadas
Links oficiais das empresas e serviços mencionados neste artigo. Alguns são programas de afiliados/parceiros — usar nossos links ajuda a manter o blog gratuito, sem custo extra para você.
- Função PROCX ↗
Documentação oficial da Microsoft
- Função SOMASES ↗
Soma condicional com múltiplos critérios
- Função SES ↗
Substitui SE aninhado
- Power Query no Excel ↗
Importação e transformação de dados
- Tabelas Dinâmicas ↗
Guia oficial de criação e análise
- Formatação condicional com fórmula ↗
Regras baseadas em fórmula
- Introdução ao VBA no Excel ↗
Referência oficial de macros
Quer aplicar isso na sua empresa?
Fale com a Koda Digital e receba um plano sob medida.
Falar no WhatsApp
KODA · BLOG