Objetivo prático da aula
- Consolidar dados esparsos de fluxo de caixa com Tabela Dinâmica.
- Calcular VPL com fluxo anual consolidado e taxa de desconto.
- Executar análise de sensibilidade em grade de 15 cenários (taxa × receita).
- Criar macro no Google Sheets (Apps Script) para recálculo automático do VPL.
Base de dados: Fluxo_Detalhado
Estrutura sugerida: colunas Data, Projeto, Tipo, Valor.
Data,Projeto,Tipo,Valor 15/02/2024,A,Investimento,-120000 20/05/2024,A,Receita,18000 10/09/2024,A,Custo,-7000 25/01/2025,A,Receita,26000 13/06/2025,A,Custo,-9000 02/11/2025,A,Receita,32000 08/03/2026,A,Receita,38000 19/08/2026,A,Custo,-11000 11/12/2026,A,Receita,42000 22/04/2027,A,Receita,50000 14/10/2027,A,Custo,-13000 05/12/2027,A,Receita,54000
Passo 1: Tabela Dinâmica para consolidar por ano
- Selecione a aba
Fluxo_Detalhadocompleta (incluindo cabeçalho). - Menu: Inserir → Tabela dinâmica → nova aba.
- Linhas: Data → agrupar por Ano.
- Valores: Soma de Valor.
- Filtro (opcional): Projeto = A.
Resultado esperado: fluxo líquido anual por linha (2024, 2025, 2026, 2027).
Passo 2: Calcular o VPL na aba VPL
Estrutura sugerida da aba:
B1 | Taxa de desconto (ex.: 0,12) |
C2 | Fluxo inicial — ano 0 negativo (ex.: -120000) |
C3:C6 | Fluxos anuais futuros consolidados da Tabela Dinâmica |
B3 | Resultado do VPL |
=VPL(B1; C3:C6) + C2Checagem: confirmar sinal negativo do investimento inicial e periodicidade anual.
Passo 3: Análise de Sensibilidade — 15 cenários
Monte uma grade cruzando 5 taxas × 3 variações de receita:
| Receita -10% | Receita base | Receita +10% | |
|---|---|---|---|
| Taxa 8% | VPL(8%, -10%) | VPL(8%, base) | VPL(8%, +10%) |
| Taxa 10% | ... | ... | ... |
| Taxa 12% | ... | ... | ... |
| Taxa 14% | ... | ... | ... |
| Taxa 16% | ... | ... | ... |
Identifique: melhor e pior cenário, faixa de taxa onde VPL fica negativo e conclusão de viabilidade.
Passo 4: Macro no Google Sheets (Apps Script)
function calcularVPLProjeto() {
var sheet = SpreadsheetApp.getActiveSheet();
var taxa = sheet.getRange("B1").getValue();
var fluxoInicial = sheet.getRange("C2").getValue();
var fluxos = sheet.getRange("C3:C6").getValues().flat();
var vpl = fluxoInicial;
for (var i = 0; i < fluxos.length; i++) {
vpl += fluxos[i] / Math.pow(1 + taxa, i + 1);
}
sheet.getRange("B3").setValue(vpl);
sheet.getRange("B3").setNumberFormat("R$ #,##0.00");
Logger.log("VPL calculado: " + vpl);
}Como usar: Extensões → Apps Script, cole o código, salve e execute calcularVPLProjeto.
Checklist de entrega
- Tabela Dinâmica consolidando fluxo anual.
- VPL calculado com a fórmula correta.
- Grade de sensibilidade com 15 cenários preenchidos.
- Macro funcional para recálculo automático.
- Conclusão de viabilidade registrada na planilha.