定期的に発生する一連のキャッシュ フロー (支払いと収益) と割引率に基づいて、投資の正味現在価値を表す 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, MsgStatic 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) = 25000Values(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 

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。