次の方法で共有


NPV 関数

一連の定期的なキャッシュ フロー (支払と受取) と割引率に基づいて投資の正味現在価値を示す、Double を返します。

構文

NPV(rate, values( ))

NPV 関数には、次の名前付き引数があります。

指定項目 説明
rate 必須です。 期間の割引率を小数で表す Double です。
values( ) 必須です。 キャッシュ フロー値を指定する Double配列です。 配列には、少なくとも 1 つの負の値 (支払) と 1 つの正の値 (受取) が含まれる必要があります。

解説

投資の正味現在価値とは、将来行われる一連の支払と受取の現在の価値です。

NPV 関数では、配列内の値の順序は支払と受取の順序として解釈されます。 支払と受取を入力する際は、その順序に注意してください。

NPV では、投資は配列内の最初のキャッシュ フロー値の日付よりも 1 期前に開始され、最後のキャッシュ フロー値で終了します。

正味現在価値の計算は、将来のキャッシュ フローに基づいて行われます。 最初のキャッシュ フローが 1 期目の期首に発生する場合、その最初の値は values( ) のキャッシュ フロー値に含めず、NPV から返される値に加算する必要があります。

NPV 関数は、投資の現在価値を返す PV 関数と似ていますが、PV 関数はキャッシュ フローが期首と期末のどちらで開始されてもかまわないという点で異なります。 NPV のキャッシュ フロー値とは異なり、PV のキャッシュ フローは投資期間を通じて一定である必要があります。

次の例では、NPV 関数を使用して、配列 Values() に含まれる一連のキャッシュ フローの正味現在価値を返します。 RetRate は固定内部利益率を表します。

Dim Fmt, Guess, RetRate, NetPVal, Msg
Static Values(5) As Double    ' Set up array.
Fmt = "###,##0.00"    ' Define money format.
Guess = .1    ' Guess starts at 10 percent.
RetRate = .0625    ' Set fixed internal rate.
Values(0) = -70000    ' Business start-up costs.
' Positive cash flows reflecting income for four successive years.
Values(1) = 22000 : Values(2) = 25000
Values(3) = 28000 : Values(4) = 31000
NetPVal = NPV(RetRate, Values())    ' Calculate net present value.
Msg = "The net present value of these cash flows is "
Msg = Msg & Format(NetPVal, Fmt) & "."
MsgBox Msg    ' Display net present value.

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。