NPV関数 解説(Excel VBA)

Excel VBAのNPV関数について

Excel VBAのNPV関数は、ネット現在価値(NPV)を計算するための関数です。ネット現在価値とは、特定の金利での未来の現金流入と現金流出の現在価値の合計を指します。この関数は、金融分析やプロジェクトの利益分析に頻繁に使用されます。

NPV関数の構文

NPV関数の構文は次のとおりです:

NPV(rate, value1, [value2], ...)

各引数の詳細は以下の通りです:

  • rate: 期間あたりの割引率。
  • value1, value2, …: 現金流の配列。これらは通常、一連の支払いまたは入金を表します。最初の支払いは1期間目にあり、その他の支払いも連続する期間になります。これらの引数は、1〜255の任意の数を含むことができます。

NPV関数の使用例

以下にNPV関数の基本的な使用例を示します。

Sub NPVExample()
    ' 変数の宣言
    Dim Rate As Double
    Dim Values() As Double
    Dim NPV As Double

    ' 変数の初期化
    Rate = 0.1 ' 割引率 10%
    Values = Array(10000, 12000, 14000, 16000, 18000) ' 予想される現金流

    ' NPV関数を使用してネット現在価値を計算
    NPV = WorksheetFunction.NPV(Rate, Values)

    ' ネット現在価値をメッセージボックスに表示
    MsgBox "ネット現在価値は " & NPV & " です。", vbInformation, "ネット現在価値"
End Sub

このサブルーチンでは、割引率10%の下で未来の現金流(10000、12000、14000、16000、18000)のネット現在価値をNPV関数で計算し、メッセージボックスで表示しています。

NPV関数は、未来の現金流の現在価値を計算する際や、プロジェクトの投資効果を評価する際に有用です。