Retorna um Double especificando o pagamento principal de um determinado período de anuidade com base em pagamentos periódicos, fixos e uma taxa de juros fixa.
Sintaxe
PPmt ( rate, per, nper , pv [, fv ] [, type ] )
A sintaxe da função PPmt tem esses argumentos:
Argumento |
Descrição |
rate |
Obrigatório. Especifique duas vezes a taxa de juros por período. Por exemplo, se você receber um empréstimo de carro a uma taxa percentual anual (APR) de 10% e fazer pagamentos mensais, a taxa por período será de 0,1/12 ou 0,0083. |
por |
Obrigatório. Inteiro que especifica o período de pagamento no intervalo de 1 a nper. |
Nper |
Obrigatório. Inteiro que especifica o número total de períodos de pagamento na anuidade. Por exemplo, se você fizer pagamentos mensais em um empréstimo de quatro anos, seu empréstimo terá um total de 4 * 12 (ou 48) períodos de pagamento. |
Pv |
Obrigatório. Especifique duas vezes o valor atual ou o valor atual de uma série de pagamentos ou recibos futuros. Por exemplo, quando você pega dinheiro emprestado para comprar um carro, o valor do empréstimo é o valor presente para o credor dos pagamentos mensais do carro que você fará. |
Fv |
Opcional. Variante que especifica o valor futuro ou o saldo de caixa desejado depois de fazer o pagamento final. Por exemplo, o valor futuro de um empréstimo é $0 porque esse é o seu valor após o pagamento final. No entanto, se você quiser economizar $50.000 em 18 anos para a educação do seu filho, então $50.000 é o valor futuro. Se omitido, 0 será assumido. |
tipo |
Opcional. Variante especificando quando os pagamentos são devidos. Use 0 se os pagamentos forem devidos no final do período de pagamento ou usar 1 se os pagamentos forem devidos no início do período. Se omitido, 0 será assumido. |
Comentários
Uma anuidade é uma série de pagamentos em dinheiro fixos feitos durante um período de tempo. Uma anuidade pode ser um empréstimo (como uma hipoteca) ou um investimento (como um plano de poupança mensal).
Os argumentos de taxa e nper devem ser calculados usando períodos de pagamento expressos nas mesmas unidades. Por exemplo, se a taxa for calculada usando meses, o nper também deve ser calculado usando meses.
Para todos os argumentos, o dinheiro pago (como depósitos na poupança) é representado por números negativos; o dinheiro recebido (como cheques de dividendos) é representado por números positivos.
Exemplo de consulta
Expressão |
Resultados |
SELECT FinancialSample.*, PPMT([AnnualRate]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPaid FROM FinancialSample; |
Retorna todos os campos da tabela "FinancialSample", calcula o valor principal pago no "per"(10 neste exemplo)do "LoanAmount" com base em "AnnualRate" e "TermInYears" e exibe os resultados na coluna INTPaid. |
Exemplo de VBA
Observação: Exemplos a seguir demonstram o uso dessa função em um módulo do Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.
Este exemplo usa a função PPmt para calcular quanto de um pagamento para um período específico é principal quando todos os pagamentos são de igual valor. Considerando-se a taxa de percentual de juros por período (APR / 12), o período de pagamento para o qual a parte principal é desejada (Period), o número total de pagamentos (TotPmts), o valor atual ou principal do empréstimo (PVal), o valor futuro do empréstimo (FVal) e um número que indica se o pagamento é devido no início ou no final do período de pagamento (PayType).
Dim NL, TB, Fmt, FVal, PVal, APR, TotPmts, PayType, Payment, Msg, MakeChart, Period, P, I
Const ENDPERIOD = 0, BEGINPERIOD = 1 ' When payments are made. NL = Chr(13) & Chr(10) ' Define newline. TB = Chr(9) ' Define tab. Fmt = "###,###,##0.00" ' Define money format. FVal = 0 ' Usually 0 for a loan. PVal = InputBox("How much do you want to borrow?") APR = InputBox("What is the annual percentage rate of your loan?") If APR > 1 Then APR = APR / 100 ' Ensure proper form. TotPmts = InputBox("How many monthly payments do you have to make?") PayType = MsgBox("Do you make payments at the end of month?", vbYesNo) If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD Payment = Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType)) Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". " Msg = Msg & "Would you like a breakdown of your principal and " Msg = Msg & "interest per period?" MakeChart = MsgBox(Msg, vbYesNo) ' See if chart is desired. If MakeChart <> vbNo Then If TotPmts > 12 Then MsgBox "Only first year will be shown." Msg = "Month Payment Principal Interest" & NL For Period = 1 To TotPmts If Period > 12 Then Exit For ' Show only first 12. P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType) P = (Int((P + .005) * 100) / 100) ' Round principal. I = Payment - P I = (Int((I + .005) * 100) / 100) ' Round interest. Msg = Msg & Period & TB & Format(Payment, Fmt) Msg = Msg & TB & Format(P, Fmt) & TB & Format(I, Fmt) & NL Next Period MsgBox Msg ' Display amortization table. End If