Financial.IPmt(Double, Double, Double, Double, Double, DueDate) メソッド

定義

定期的な定額の支払いおよび一定した利率に基づいて、特定の期に支払う金利を指定する値を返します。

public static double IPmt (double Rate, double Per, double NPer, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod);
static member IPmt : double * double * double * double * double * Microsoft.VisualBasic.DueDate -> double
Public Function IPmt (Rate As Double, Per As Double, NPer As Double, PV As Double, Optional FV As Double = 0, Optional Due As DueDate = Microsoft.VisualBasic.DueDate.EndOfPeriod) As Double

パラメーター

Rate
Double

必須です。 投資期間を通じての一定の利率です。 たとえば、10% の年率 (APR) で自動車ローンを利用する際、毎月の支払いを指定した場合の月々の利率は 0.1/12 (0.0083) になります。

Per
Double

必須です。 金利支払い額を求める期を示す、1 から NPer の範囲です。

NPer
Double

必須です。 投資期間全体での支払い回数の合計です。 たとえば、4 年間、月々分割払い自動車ローンを利用した場合、合計で 4 × 12 (= 48) の返済期間があることになります。

PV
Double

必須です。 現在の投資額、つまり将来行われる一連の支払いや受け取りを現時点で一括した場合の合計金額です。 たとえば、自動車を購入するために資金を借り入れた場合、ローン金額は、毎月の返済の対象となる貸手にとっての現在価値を表します。

FV
Double

省略可能。 投資の将来価値、つまり最後の支払いを行った後に残る現金の収支です。 たとえば、ローンの将来価値は 0 です。最終支払い後の価値であるためです。 ただし、子供の教育費のため、18 年間かけて 50 万円を貯金する場合、この 50 万円は将来価値になります。 省略した場合は、0 と見なされます。

Due
DueDate

省略可能。 支払い期日を示すオブジェクト型 DueDate の値。 各期の期末に支払う場合は DueDate.EndOfPeriod を、各期の期首に支払う場合は DueDate.BegOfPeriod をそれぞれ引数に指定します。 省略した場合は、DueDate.EndOfPeriod と想定されます。

戻り値

定期的な定額の支払いおよび一定した利率に基づいて、特定の期に支払う金利です。

例外

Per<= 0 または Per>NPer

この例では、 関数を IPmt 使用して、すべての支払いが等しい値である場合の支払額を計算します。 指定されるのは、期間ごとの利率 (APR / 12)、利子部分が必要な支払期間 (Period)、支払いの合計数 ()、ローンの現在価値または元金 (TotPmtsPVal)、ローンの将来価値 (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

注釈

年金とは、時間の経過と同時に行われる一連の固定現金支払いです。 年金は、ローン (住宅ローンなど) または投資 (毎月の節約プランなど) です。

引数と NPer 引数はRate、同じ単位で表される支払期間を使用して計算する必要があります。 たとえば、 が月を使用して計算される場合 Rate は、 NPer も月を使用して計算する必要があります。

すべての引数について、支払われた現金 (節約金への預金など) は負の数で表されます。受け取った現金 (配当チェックなど) は正の数値で表されます。

適用対象

こちらもご覧ください