一、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狀態下使用。