NPV 関数

定期的に発生する一連のキャッシュ フロー (支払いと収益) と割引率に基づいて、投資の正味現在価値を表す Double 型を返します。

構文

NPV( rate, values ())

NPV 関数の構文には、次の引数があります。

引数

説明

rate

必須です。 10 進数で表現された、期間全体にわたる割引率を指定する Double 型。

values ()

必須です。 キャッシュ フローの金額を指定する Double 型の配列。 配列には、少なくとも 1 つの負の値 (支払い) と、1 つの正の値 (受け取り) を含める必要があります。


解説

投資の正味現在価値は、将来の一連の支払いと受け取りに対応する現在価値です。

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

NPV 関数では、投資は最初のキャッシュ フローの金額が発生する日付より 1 期前に開始され、配列の最後のキャッシュ フローの金額で終了します。

正味現在価値の計算は、将来のキャッシュ フローに基づいて行われます。 このため、最初のキャッシュ フローが 1 期目の期首に発生する場合、最初の値は、values( ).のキャッシュ フローの金額に含めないで、NPV 関数の計算結果に加算する必要があります。

NPV 関数は、投資の現在価値を返す PV 関数と似ていますが、PV 関数ではキャッシュ フローが期首と期末のどちらに発生してもかまわない点が異なります。また、NPV 関数ではキャッシュ フローの金額が一定していませんが、PV 関数では投資期間を通じて一定である必要があります。

使用例

注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

この例では、配列 Values() に含まれる一連のキャッシュ フローの正味現在価値を返す NPV 関数を使用しています。 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
' Calculate net present value.
NetPVal = NPV(RetRate, Values())
Msg = "The net present value " & _
"of these cash flows is "
Msg = Msg & Format(NetPVal, Fmt) & "."
' Display net present value.
MsgBox Msg
スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×