WorksheetFunction メソッド (Excel)WorksheetFunction.Xnpv method (Excel)

必ずしも定期的でないキャッシュフローのスケジュールの正味現在価値を返します。Returns the net present value for a schedule of cash flows that is not necessarily periodic. 取得/設定が可能な Double 値です。Read/write Double.


Xnpv(Arg1Arg2)expression.Xnpv (Arg1, Arg2)

: WorksheetFunction オブジェクトを表す変数。expression A variable that represents a WorksheetFunction object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
Arg1Arg1 必須Required VariantVariant 収支明細表の日付に対応する一連のキャッシュ フローを指定します。A series of cash flows that corresponds to a schedule of payments in dates. 最初の支払いは投資の最初に発生する原価や支払いに対応し、省略することができます。The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment.
Arg2Arg2 必須Required VariantVariant キャッシュフローの支払いに対応する支払い日のスケジュール。A schedule of payment dates that corresponds to the cash flow payments. 最初の支払日は、支払いスケジュールの開始日を示します。The first payment date indicates the beginning of the schedule of payments. 他のすべての日付は、この日付より後である必要がありますが、任意の順序で発生する可能性があります。All other dates must be later than this date, but they may occur in any order.

戻り値Return value

倍精度浮動小数点型 (Double)Double


一連の定期的なキャッシュフローについて正味現在価値を計算するには、 Npv メソッドを使用します。To calculate the net present value for a series of cash flows that is periodic, use the Npv method.


Xnpvメソッドは、対応する Xnpv 関数 (= Xnpv (rate, values , date ) に必要な_rate_引数に対応するパラメーターを提供しません。The Xnpv method does not provide a parameter that corresponds to the rate argument required by the corresponding XNPV function (=XNPV(rate, values , dates )). VBA コードでこの制限を回避するには、 Xnpvメソッドを使用する代わりに、次の例に示すように、 Evaluate メソッドを使用して Xnpv 関数を呼び出します。To work around this limitation in VBA code, instead of using the Xnpv method, call the XNPV function by using the Evaluate method as shown in the following example.


次の例では、投資の正味現在価値を上記のコストで返します。The following example returns the net present value for an investment with the above cost and returns. キャッシュフローは、9% (2086.6476 または 2086.65) で割引されます。The cash flows are discounted at 9 percent (2086.6476 or 2086.65).

Dim npv As Double 
npv = Application.Evaluate("=XNPV(.09,A2:A6,B2:B6)")

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.