IPmt 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

返回 Double,它指定基于定期、固定付款和固定利率的给定年金期间的利息支付。

语法

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

IPmt 函数语法具有下列参数:

参数 说明
rate 必需。 双精度 指定每期利率。 例如,如果您以年利率获得汽车贷款 (年利率) 为 10%,并按月还款,则每期利率为 0.1/12,即 0.0083。
per 必需。 Double 指定 1 到 nper 范围内的付款期限。
nper 必需。 Double 指定年金的付款总期数。 例如,如果每月还一次期四年的汽车贷款,则贷款总共有 4 * 12 (或 48) 还款期。
PV 必需。 双重 指定一系列未来付款或收据的现值或今天的价值。 例如,当您借钱买车时,贷款金额是您每月支付的汽车付款给贷方的现值。
fv 可选。 指定您在支付最终付款后所需的未来值或现金余额的变体。 例如,贷款的未来值为 0 美元,因为这是最终还款后的价值。 但是,如果您想在 50,000 年内为孩子的教育节省 18 美元,那么 50,000 美元是未来价值。 如果省略,则假定为 0。
type 可选。 指定付款时间支付时间的变体。 如果在付款期结束时到期,请使用 0,如果在期初到期,请使用 1。 如果省略,则假定为 0。

备注

年金是在一段时间内支付的一系列固定现金支付。 年金可以是贷款 (,例如房屋抵押贷款) ,也可以是投资 (,例如每月储蓄计划) 。

ratenper 参数必须使用以相同单位表示的付款期计算。 例如,如果 rate 是使用月计算的,那么 nper 也必须使用月来计算。

对于所有参数,支付的现金 (例如存款到储蓄) 用负数表示;收到的现金 (例如股息支票) 用正数表示。

查询示例

Expression 结果
SELECT FinancialSample.*, IPMT ([AnnualRate]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPpaid FROM FinancialSample; 返回表 “FinancialSample” 中的所有字段,根据 “AnnualRate” 和 “TermInYears” 计算本示例中以 “per” (10) 的 “LoanAmount” 为单位支付的利息,并将结果显示在列 INTPpaid 中。

VBA 示例

注意

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

本示例使用 IPmt 函数计算在所有付款的价值相同时,多少付款是利息。 给定的是每期 (APR / 12) 利率、) (Period 需要利息部分的还款期、) (TotPmts 还款总数、贷款 (PVal) 的现值或本金、贷款 (FVal) 的未来值,以及一个数字,表明付款是在还款期开始还是结束时到期 (PayType) 。

Dim FVal, Fmt, PVal, APR, TotPmts, PayType
Dim Period, IntPmt, TotInt, Msg
Const ENDPERIOD = 0, BEGINPERIOD = 1
FVal = 0    ' Usually 0 for a loan.
Fmt = "###,###,##0.00"    ' Define money format.
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?")
PayType = MsgBox("Do you make payments at " & _
    "the end of the month?", vbYesNo)
If PayType = vbNo Then 
     PayType = BEGINPERIOD 
     Else PayType = ENDPERIOD
End If
For Period = 1 To TotPmts    ' Total all interest.
    IntPmt = IPmt(APR / 12, Period, TotPmts, _
             -PVal, FVal, PayType)
    TotInt = TotInt + IntPmt
Next Period
Msg = "You'll pay a total of " & Format(TotInt, Fmt) 
Msg = Msg & " in interest for this loan."
MsgBox Msg    ' Display results.