Financial.IPmt(Double, Double, Double, Double, Double, DueDate) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
定期的な定額の支払いおよび一定した利率に基づいて、特定の期に支払う金利を指定する値を返します。
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
)、支払いの合計数 ()、ローンの現在価値または元金 (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
注釈
年金とは、時間の経過と同時に行われる一連の固定現金支払いです。 年金は、ローン (住宅ローンなど) または投資 (毎月の節約プランなど) です。
引数と NPer
引数はRate
、同じ単位で表される支払期間を使用して計算する必要があります。 たとえば、 が月を使用して計算される場合 Rate
は、 NPer
も月を使用して計算する必要があります。
すべての引数について、支払われた現金 (節約金への預金など) は負の数で表されます。受け取った現金 (配当チェックなど) は正の数値で表されます。