Devolve um Valor Duplo especificando o pagamento principal de um determinado período de uma anuidade com base em pagamentos fixos e periódicos e numa taxa de juro fixa.
Sintaxe
PPmt ( taxa, por, nper , va [, fv ] [, tipo ] )
A sintaxe da função PPmt tem estes argumentos:
Argumento |
Descrição |
taxa |
Obrigatório. Valor Duplo a especificar a taxa de juros por período. Por exemplo, se obter um empréstimo automóvel a uma taxa percentual anual (APR) de 10 por cento e efetuar pagamentos mensais, a taxa por período é 0,1/12 ou 0,0083. |
por |
Obrigatório. Número inteiro que especifica o período de pagamento no intervalo de 1 a nper. |
nper |
Obrigatório. Número inteiro que especifica o número total de períodos de pagamento na anuidade. Por exemplo, se fizer pagamentos mensais num empréstimo automóvel de 4 anos, o seu empréstimo tem um total de 4 * 12 (ou 48) períodos de pagamento. |
va |
Obrigatório. O dobro da especificação do valor atual, ou valor atual, de uma série de pagamentos ou recibos futuros. Por exemplo, quando pede dinheiro emprestado para comprar um carro, o valor do empréstimo é o valor atual para o credor dos pagamentos mensais de carros que vai fazer. |
vf |
Opcional. Variante a especificar o valor futuro ou saldo em dinheiro que deseja atingir após o último pagamento ter sido efetuado. Por exemplo, o valor futuro de um empréstimo é 0 € porque é o seu valor após o pagamento final. No entanto, se quiser poupar 50 000 € ao longo de 18 anos para a educação dos seus filhos, 50 000 € é o valor futuro. Se for omitido, é assumido 0. |
tipo |
Opcional. Variante a especificar quando os pagamentos devem ser efetuados. Utilize 0 se os pagamentos ocorrerem no final do período do pagamento ou 1 se os pagamentos ocorrerem no início do período. Se for omitido, é assumido 0. |
Comentários
Uma anuidade é uma série de pagamentos fixos em dinheiro efetuados durante um período de tempo. Uma anuidade pode ser um empréstimo (como uma hipoteca de casa) ou um investimento (como um plano de poupanças mensal).
Os argumentos taxa e nper têm de ser calculados utilizando períodos de pagamento expressos nas mesmas unidades. Por exemplo, se o argumento taxa for calculado utilizando meses, o argumento nper também tem de ser calculado utilizando meses.
Para todos os argumentos, o numerário pago (tal como depósitos em poupanças) é representado por números negativos e o dinheiro recebido (tal 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; |
Devolve todos os campos da tabela "FinancialSample", calcule o montante do Principal pago no "por"(10 neste exemplo)de "LoanAmount" com base na "AnnualRate" e "TermInYears" e apresenta os resultados na coluna INTPaid. |
Exemplo de VBA
Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.
Este exemplo utiliza a função PPmt para calcular quanto de um pagamento para um período específico é principal quando todos os pagamentos têm um valor igual. Em causa estão a taxa de percentagem 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 o 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 fim 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