FV 関数

更新 : 2007 年 11 月

倍精度浮動小数点数型 (Double) の値を返します。定額の支払いを定期的に行い、利率が一定であると仮定して、投資の将来価値を返します。

Function FV( _
   ByVal Rate As Double, _
   ByVal NPer As Double, _
   ByVal Pmt As Double, _
   Optional ByVal PV 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) の値を指定します。通常、支払額には元金と利息が含まれます。支払額を投資期間内に変更することはできません。

  • PV
    省略可能です。現在の投資額、つまり将来行われる一連の支払いを一括支払いした場合の合計金額を示す倍精度浮動小数点数型 (Double) の値を指定します。たとえば、車を購入するために資金を借りる場合、現在価値は毎月支払うローンの総額になります。このパラメータを省略すると、0 を指定したものと見なされます。

  • Due
    省略可能です。支払期日を示すオブジェクト型 DueDate 列挙型 の値を指定します。各期の期末に支払う場合は DueDate.EndOfPeriod を、各期の期首に支払う場合は DueDate.BegOfPeriod をそれぞれ引数に指定します。この引数を省略すると、DueDate.EndOfPeriod を指定したものと見なされます。

解説

投資とは、一連の定額の支払いを長期間行うことです。たとえば、住宅ローンなどのローンまたは毎月の貯蓄プランなどの出資を指します。

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

出金 (定額預金の支払いなど) を表す引数には負の値を指定し、入金 (配当金など) を表す引数には正の値を指定します。

使用例

次の例は、将来の貯蓄総額を FV 関数で計算します。年利 (APR / 12)、貯蓄回数 (TotPmts)、毎月の貯蓄額 (Payment)、現在の貯蓄額 (PVal)、貯蓄期日 (PayType) を指定します。Payment は出金を表すので、負の数を指定しています。

Sub TestFV()
    Dim TotPmts As Integer
    Dim Payment, APR, PVal, Fval As Double
    Dim PayType As DueDate
    Dim Response As MsgBoxResult

    ' Define money format.
    Dim Fmt As String = "###,###,##0.00"
    Payment = CDbl(InputBox("How much do you plan to save each month?"))
    APR = CDbl(InputBox("Enter the expected interest annual percentage rate."))
    ' Ensure proper form.
    If APR > 1 Then APR = APR / 100
    TotPmts = CInt(InputBox("For how many months do you expect to save?"))
    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
    PVal = CDbl(InputBox("How much is in this savings account now?"))
    Fval = FV(APR / 12, TotPmts, -Payment, -PVal, PayType)
    MsgBox("Your savings will be worth " & Format(Fval, Fmt) & ".")
End Sub

必要条件

名前空間 : Microsoft.VisualBasic

モジュール : Financial

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)

参照

参照

財務処理の概要