PV 関数
更新 : 2007 年 11 月
倍精度浮動小数点数型 (Double) の値を返します。定額の支払いを定期的に行い、利率が一定であると仮定して、投資の現在価値を返します。
Function PV( _
ByVal Rate As Double, _
ByVal NPer As Double, _
ByVal Pmt 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 になります。NPer
必ず指定します。投資期間全体での支払い回数の合計を示す倍精度浮動小数点数型 (Double) の値です。たとえば、4 年の車のローンを月払いで返済する場合、支払い回数の合計は 48 回 (12 回×4 年) になります。Pmt
必ず指定します。毎回の支払額を示す倍精度浮動小数点数型 (Double) の値を指定します。通常、支払額には元金と利息が含まれます。支払額を投資期間内に変更することはできません。FV
省略可能です。投資の将来価値、つまり最後の支払いを行った後に残る現金の収支を示す倍精度浮動小数点数型 (Double) の値を指定します。たとえば、ローンなどの借入の将来価値は 0 になります。また、子供の教育費用として 18 年間で 500,000 円貯蓄する場合は、将来価値が 500,000 円になります。このパラメータを省略すると、0 を指定したものと見なされます。Due
省略可能です。支払期日を示すオブジェクト型 DueDate 列挙型 の値を指定します。各期の期末に支払う場合は DueDate.EndOfPeriod を、各期の期首に支払う場合は DueDate.BegOfPeriod をそれぞれ引数に指定します。この引数を省略すると、DueDate.EndOfPeriod を指定したものと見なされます。
解説
投資とは、一連の定額の支払いを一定の期間行うことです。たとえば、住宅ローンなどのローンまたは毎月の貯蓄プランなどの出資を指します。
引数 Rate および NPer は、単位が同じ支払い期日を使用して計算する必要があります。たとえば、Rate を月単位で計算する場合は、NPer も月単位で計算する必要があります。
出金 (定額預金の支払いなど) を表す引数には負の値を指定し、入金 (配当金など) を表す引数には正の値を指定します。
使用例
次の例は、PV 関数を使って、以後 20 年間にわたって、毎月 5 万円の配当が支払われる証券 (100 万円) の現在価値を計算します。年率 (APR)、支払い回数 (TotPmts)、支払い金額 (YrIncome)、投資の将来価値 (FVal)、支払い期日 (PayType) を指定します。YrIncome は出金を表すので、負の数を指定しています。
Sub TestPV()
' Define money format.
Dim Fmt As String = "###,##0.00"
' Annual percentage rate.
Dim APR As Double = 0.0825
' Total number of payments.
Dim TotPmts As Double = 20
' Yearly income.
Dim YrIncome As Double = 50000
' Future value.
Dim FVal As Double = 1000000
' Payment at beginning of month.
Dim PayType As DueDate = DueDate.BegOfPeriod
Dim PVal As Double = PV(APR, TotPmts, -YrIncome, FVal, PayType)
MsgBox("The present value is " & Format(PVal, Fmt) & ".")
End Sub
必要条件
名前空間 : Microsoft.VisualBasic
モジュール : Financial
アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)