Fórmula para usar no Excel: =1000 * (1 + 1,5%) ^ (Dias/30)
function calcularProRata() {
var principalEl = document.getElementById('prd_principal');
var taxaEl = document.getElementById('prd_taxa');
var dataInicioEl = document.getElementById('prd_data_inicio');
var dataFimEl = document.getElementById('prd_data_fim');
var tipoEl = document.getElementById('prd_tipo');
var errorEl = document.getElementById('prd_error');
var resultBox = document.getElementById('prd_result');
// Reset display
errorEl.style.display = 'none';
resultBox.style.display = 'none';
// Get Values
var principal = parseFloat(principalEl.value);
var taxaMensal = parseFloat(taxaEl.value);
var dataInicio = new Date(dataInicioEl.value);
var dataFim = new Date(dataFimEl.value);
var tipo = tipoEl.value;
// Validation
if (isNaN(principal) || isNaN(taxaMensal) || !dataInicioEl.value || !dataFimEl.value) {
errorEl.textContent = "Por favor, preencha todos os campos corretamente.";
errorEl.style.display = 'block';
return;
}
// Force time to midnight to calculate pure day difference
dataInicio.setHours(0,0,0,0);
dataFim.setHours(0,0,0,0);
var diffTime = dataFim – dataInicio;
var diasCorridos = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
if (diasCorridos < 0) {
errorEl.textContent = "A data final deve ser posterior à data inicial.";
errorEl.style.display = 'block';
return;
}
var montante = 0;
var juros = 0;
var taxaEfetiva = 0;
var formulaExcel = "";
// Calculation Logic
if (tipo === 'composto') {
// Compound Interest (Pro Rata Die standard for banking)
// Formula: Principal * (1 + rate)^(days/30)
// Rate input is percentage, so divide by 100
var base = 1 + (taxaMensal / 100);
var expoente = diasCorridos / 30; // Assuming commercial month base for rate, verify standard
montante = principal * Math.pow(base, expoente);
juros = montante – principal;
taxaEfetiva = (Math.pow(base, expoente) – 1) * 100;
// Construct Excel String
formulaExcel = "=" + principal.toFixed(2).replace('.', ',') + " * (1 + " + taxaMensal.toFixed(2).replace('.', ',') + "%) ^ (" + diasCorridos + "/30)";
} else {
// Simple Interest
// Formula: Principal * (rate/30) * days
var taxaDiaria = (taxaMensal / 100) / 30;
juros = principal * taxaDiaria * diasCorridos;
montante = principal + juros;
taxaEfetiva = (taxaDiaria * diasCorridos) * 100;
formulaExcel = "=" + principal.toFixed(2).replace('.', ',') + " * (" + taxaMensal.toFixed(2).replace('.', ',') + "% / 30) * " + diasCorridos;
}
// Format output
document.getElementById('res_dias').textContent = diasCorridos;
document.getElementById('res_taxa_periodo').textContent = taxaEfetiva.toFixed(4).replace('.', ',') + "%";
document.getElementById('res_juros').textContent = "R$ " + juros.toLocaleString('pt-BR', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res_total').textContent = "R$ " + montante.toLocaleString('pt-BR', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('excel_formula').textContent = formulaExcel;
resultBox.style.display = 'block';
}
Como Calcular Juros Pro Rata Die no Excel
O termo Pro Rata Die vem do latim e significa "proporcional ao dia". No contexto financeiro, calcular juros pro rata die é essencial quando uma aplicação financeira ou uma dívida não completa um período inteiro (como um mês cheio) e precisa ter seus rendimentos ou encargos calculados com base exata no número de dias corridos.
Este tipo de cálculo é padrão em operações bancárias, cartões de crédito e investimentos de renda fixa. A calculadora acima simula exatamente como você faria essa conta no Excel, permitindo conferir valores de boletos atrasados ou resgates antecipados.
A Lógica Matemática
Existem duas formas principais de realizar este cálculo, dependendo do contrato financeiro:
1. Juros Compostos (Exponencial)
É o padrão do mercado financeiro. Aqui, a taxa mensal é convertida para uma taxa diária equivalente de forma exponencial. No Excel, a lógica é elevar a taxa ao tempo.
Fórmula:Montante = Principal * (1 + TaxaMensal)^(Dias / 30)
No Excel:=A1 * (1 + B1)^(C1/30) (Onde A1 é o valor, B1 a taxa e C1 os dias).
2. Juros Simples (Linear)
Geralmente utilizado para cálculos de mora (atraso) em contas de consumo ou aluguéis informais. Divide-se a taxa mensal por 30 para achar a diária e multiplica-se pelos dias.
Fórmula:Juros = Principal * (TaxaMensal / 30) * Dias
No Excel:=A1 * (B1/30) * C1
Passo a Passo no Excel
Para criar sua própria planilha automática de pro rata die, siga estes passos:
Na célula A1, digite o Valor Principal.
Na célula A2, digite a Taxa Mensal (formate como porcentagem).
Na célula A3, digite a Data Inicial.
Na célula A4, digite a Data Final.
Na célula A5, calcule os dias: =A4-A3 (Certifique-se de que as células de data estejam formatadas como data).
Na célula A6, insira a fórmula final: =A1*(1+A2)^(A5/30).
Exemplo Prático
Imagine uma dívida de R$ 1.000,00 com taxa de 5% ao mês. Se você pagar essa dívida após 15 dias:
Cálculo Pro Rata (Composto): R$ 1.000 * (1,05)^(15/30) = R$ 1.024,70.
Note que para períodos menores que um mês, o juro simples costuma ser ligeiramente maior que o composto, mas para períodos longos, o composto cresce muito mais rápido.