IPmt 函式
更新:2007 年 11 月
傳回 Double,指定以定期、固定付款及固定利率為基礎之指定期間的利息支付。
Function IPmt( _
ByVal Rate As Double, _
ByVal Per As Double, _
ByVal NPer As Double, _
ByVal PV As Double, _
Optional ByVal FV As Double = 0, _
Optional ByVal Due As DueDate = DueDate.EndOfPeriod _
) As Double
參數
Rate
這是必要項。Double 指定每一期的利率。例如,如果您的汽車貸款年利率 (APR) 為 10% 並採月付方式償還,則每期的利率為 0.1/12,也就是 0.0083。Per
必要項。Double,指定 1 到 NPer 範圍之間的付款期間。NPer
這是必要項。Double 指定年金保險投資中付款的總期數。例如,如果您的四年期汽車貸款是採月付方式償還,則付款總期數就是 4 x 12 (即 48) 期。PV
必要項。Double,指定一系列遠期付款或遠期收入的現值或今天的值。例如,當您貸款買車時,貸款金額就是您要以每月支付方式付給貸方的車款金額現值。FV
選擇性的。Double 指定在最後一次付款之後,您想要的未來值或現金結存。例如,貸款的未來值為 $0,因為那是它在最後一期付款之後的值。不過,如果您想要在 18 年期間存 50,000 美元做為子女教育費用,那麼 50,000 美元就是這個未來值。如果省略,則假設為 0。Due
選擇項。DueDate 列舉型別 型別的物件,指定付款何時到期。這個引數必須是 DueDate.EndOfPeriod (若付款期限是付款期間的結束日),或 DueDate.BegOfPeriod (若付款期限是付款期間的開始日)。如果省略,則假設為 DueDate.EndOfPeriod。
例外狀況
例外狀況類型 |
錯誤代碼 |
條件 |
---|---|---|
Per <= 0 或 Per > NPer |
如果將使用非結構化錯誤處理的 Visual Basic 6.0 應用程式升級,請參閱「錯誤代碼」資料行 (您可以將錯誤代碼與 Number 屬性 (Err 物件) 比對)。但是,請盡可能考慮以 Visual Basic 的結構化例外處理概觀 取代這類錯誤控制項。
備註
年金是在約定期間內一連串的固定現金付款。年金可以是借貸 (例如房屋抵押貸款) 也可以是投資 (例如每月定存存單)。
Rate 和 NPer 引數必須使用以相同單位表示的付款週期計算。例如,如果 Rate 是以月計算,則 NPer 也必須以月來計算。
凡是引數,現金支出 (例如存款) 都以負數來表示,現金收入 (例如股息支票) 則以正數來表示。
範例
這個範例會使用 IPmt 函式計算當所有付款等值時,付款中有多少是利息部分。前提是提供每一期的利率 (APR / 12)、應付利息部分的付款期間 (Period)、付款總數 (TotPmts)、貸款的現值或本金 (PVal)、貸款的未來值 (FVal) 和表示付款時間是在付款期間開頭或結尾的數字 (PayType)。
Sub TestIPMT()
Dim APR, PVal, Period, IntPmt, TotInt, TotPmts As Double
Dim PayType As DueDate
Dim Response As MsgBoxResult
' Usually 0 for a loan.
Dim Fval As Double = 0
' Define money format.
Dim Fmt As String = "###,###,##0.00"
PVal = CDbl(InputBox("How much do you want to borrow?"))
APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
TotPmts = CInt(InputBox("How many monthly payments?"))
Response = MsgBox("Do you make payments at end of the month?", MsgBoxStyle.YesNo)
If Response = MsgBoxResult.No Then
PayType = DueDate.BegOfPeriod
Else
PayType = DueDate.EndOfPeriod
End If
For Period = 1 To TotPmts ' Total all interest.
IntPmt = IPmt(APR / 12, Period, TotPmts, -PVal, Fval, PayType)
TotInt = TotInt + IntPmt
Next Period
' Display results.
MsgBox("You will pay a total of " & Format(TotInt, Fmt) & _
" in interest for this loan.")
End Sub
需求
命名空間 (Namespace)︰Microsoft.VisualBasic
**模組︰**Financial
組件 (Assembly):Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)