PPmt 函数

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

返回一个 Double 值,指定根据定期固定付款和固定的利率而定的年金在给定期间内的本金偿付。

语法

PPmt ( rate, per, nper , pv [, fv ] [, type ] )

PPmt函数语法具有以下参数︰

参数

说明

费率

必填。指定各期利率。例如,如果您获得年利率 (四月) 的 10%的汽车贷款,并按月支付,则每期利率是 0.1/12,即 0.0083。

每个

必填。整数,指定介于 1 到nper付款期。

nper

必填。指定在年金的总付款期数的整数。例如,如果您按月支付四年的汽车贷款,则贷款具有 4 * 12 (即 48) 付款期总数。

pv

必填。Double数据类型现值,即当前,值的一系列未来支出或回执。例如,当您贷款购置汽车,贷款额是为您每月付款贷方的现值。

fv

可选。Variant 值,指定所需之后所做的最后一次付款的未来值或现金余额。例如,贷款的未来值为 $0,因为这是最终付款之后它的值。但是,如果您想要保存您的孩子的教育版在 18 年 50000 美元,50000 美元的未来值。如果省略,则假定为 0。

类型

可选。变量值,指定何时付款。如果付款截止期末付款,请使用 0,或使用 1,如果在期初付款到期。如果省略,则假定为 0。


注解

年金是一系列在一段时间内固定的现金付款。年金可以是贷款 (如住房抵押) 或某项投资 (如每月储蓄计划中)。

计算的费率nper参数必须使用相同的单位表示的付款期。例如,如果使用月份计算费率,则nper必须也计算使用月份。

对于所有参数,现金支出 (如银行存款) 是以负数表示;(如股息支票) 现金流以正数表示。

示例

注意: 下面的示例说明使用此函数在 Visual Basic for Applications (VBA) 模块。有关处理 VBA 的详细信息,搜索旁边的下拉列表中选择开发人员参考,然后在搜索框中输入一个或多个术语。

此示例使用PPmt函数计算当所有付款等值时特定期间的付款中有多少是本金。考虑是百分比各期利率 (APR / 12) 付款期的主要部分的所需 (Period)、 付款 (TotPmts)、 现值或贷款 (PVal) 的本金、 贷款 (FVal) 的未来值的总数和一个数字,表示付款是截止的开头或末尾付款期 (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

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×