Excel中IPmt函数用法

06-24

一、IPmt语法

返回一个 Double,指定在一段时间内对定期定额支付且利率固定的年金所支付的利息值。

语法

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

IPmt 函数有下列命名参数:

参数说明

rate 必要。Double 指定每一期的利率。例如,如果有一笔贷款年百分率 (APR) 为百分之十且按月付款的汽车贷款,则每一期的利率为 0.1/12,或 0.0083。

per 必要。Double 指定在 nper 间范围 1 中的付款周期。

nper 必要。Double 指定一笔年金的付款总期数。例如,如果在一笔为期四年的汽车贷款中选择按月付款方式,则贷款共有 4 * 12(或 48)个付款期。

pv 必要。Double,指定未来一系列付款或收款的现值。例如,当借钱买汽车时,向贷方所借金额为将来每月偿付给贷方款项的现值。

fv 可选。Variant 指定在付清贷款后所希望的未来值或现金结存。例如,贷款的未来值在贷款付清后为 0 美元。但是,如果想要在 18 年间存下 50,000 美元作为子女教育基金,那么 50,000 美元为未来值。如果省略的话,缺省值为 0。

type 可选。Variant 指定贷款到期时间。如果贷款在贷款周期结束时到期,请使用 0。如果贷款在周期开始时到期,请使用 1。如果省略的话,缺省值为 0。

说明

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

在支付期间必须用相同的单位计算 rate 和 nper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。

对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。

二、IPmt 函数用法

本示例使用 IPmt 函数来计算每期的付款中有多少是属于利息,其中每期付款金额相同。计算时需给定每期利率(APR / 12),利息的付款周期(Period),付款总期数(TotPmts),贷款现值或本金(PVal),贷款的未来值(FVal)及付款方式,以数值表示期初或期末付款(PayType)。

Dim FVal, Fmt, PVal, APR, TotPmts, PayType, Period, IntPmt, TotInt, Msg

Const ENDPERIOD = 0, BEGINPERIOD = 1 ' 付款方式。

FVal = 0 ' 对贷款而言通常为零。

Fmt = "###,###,##0.00" ' 定义金额格式。

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 ' 确保格式正确。

TotPmts = InputBox("How many monthly payments?")

PayType = MsgBox("Do you make payments at end of the month?", vbYesNo)

If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD

For Period = 1 To TotPmts ' 将所有利息求和。

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 ' 显示结果。

如上代码在VBA状态下使用。