Financial.PPmt(Double, Double, Double, Double, Double, DueDate) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
定期的な定額の支払いおよび一定した利率に基づいて、指定された期間の元金の支払いを示す値を返します。
public static double PPmt (double Rate, double Per, double NPer, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod);
static member PPmt : double * double * double * double * double * Microsoft.VisualBasic.DueDate -> double
Public Function PPmt (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
です。
例
この例では、 関数を PPmt
使用して、すべての支払いが等しい場合に、特定の期間の支払額が元金である金額を計算します。 与えられるのは、期間ごとの利率 (APR / 12
)、元本部分が必要な支払期間 (Period
)、支払回数の合計 (TotPmts
)、ローンの現在価値または元金 (PVal
)、ローンの将来価値 (FVal
)、および支払いが支払い期間PayType
の開始時または終了時 () であるかどうかを示す数値です。
Sub TestPPMT()
Dim PVal, APR, TotPmts, Payment, Period, P, I As Double
Dim PayType As DueDate
Dim Msg As String
Dim Response As MsgBoxResult
' Define money format.
Dim Fmt As String = "###,###,##0.00"
' Usually 0 for a loan.
Dim Fval As Double = 0
PVal = CDbl(InputBox("How much do you want to borrow?"))
APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
' Ensure proper form.
If APR > 1 Then APR = APR / 100
TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
Response = MsgBox("Do you make payments at the end of month?", MsgBoxStyle.YesNo)
If Response = MsgBoxResult.No Then
PayType = DueDate.BegOfPeriod
Else
PayType = DueDate.EndOfPeriod
End If
Payment = Math.Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))
Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". "
Msg = Msg & "Would you like a breakdown of your principal and "
Msg = Msg & "interest per period?"
' See if chart is desired.
Response = MsgBox(Msg, MsgBoxStyle.YesNo)
If Response <> MsgBoxResult.No Then
If TotPmts > 12 Then MsgBox("Only first year will be shown.")
Msg = "Month Payment Principal Interest" & Environment.NewLine
For Period = 1 To TotPmts
' Show only first 12.
If Period > 12 Then Exit For
P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
' Round principal.
P = (Int((P + 0.005) * 100) / 100)
I = Payment - P
' Round interest.
I = (Int((I + 0.005) * 100) / 100)
Msg = Msg & Period & vbTab & Format(Payment, Fmt)
Msg = Msg & vbTab & Format(P, Fmt) & vbTab & Format(I, Fmt) & Environment.NewLine
Next Period
' Display amortization table.
MsgBox(Msg)
End If
End Sub
注釈
年金とは、一定期間に行われた一連の固定現金支払いです。 年金は、ローン (住宅ローンなど) または投資 (毎月の節約プランなど) です。
引数と NPer
引数はRate
、同じ単位で表される支払期間を使用して計算する必要があります。 たとえば、 が月を使用して計算される場合 Rate
は、 NPer
も月を使用して計算する必要があります。
すべての引数について、支払われた現金 (預金から預貯金など) は負の数で表されます。受け取った現金 (配当チェックなど) は正の数値で表されます。
適用対象
こちらもご覧ください
.NET