WorksheetFunction.Npv Method

Calculates the net present value of an investment by using a discount rate and a series of future payments (negative values) and income (positive values).

Namespace:  Microsoft.Office.Interop.Excel
Assembly:  Microsoft.Office.Interop.Excel (in Microsoft.Office.Interop.Excel.dll)

Syntax

'Declaration
Function Npv ( _
    Arg1 As Double, _
    Arg2 As Object, _
    Arg3 As Object, _
    Arg4 As Object, _
    Arg5 As Object, _
    Arg6 As Object, _
    Arg7 As Object, _
    Arg8 As Object, _
    Arg9 As Object, _
    Arg10 As Object, _
    Arg11 As Object, _
    Arg12 As Object, _
    Arg13 As Object, _
    Arg14 As Object, _
    Arg15 As Object, _
    Arg16 As Object, _
    Arg17 As Object, _
    Arg18 As Object, _
    Arg19 As Object, _
    Arg20 As Object, _
    Arg21 As Object, _
    Arg22 As Object, _
    Arg23 As Object, _
    Arg24 As Object, _
    Arg25 As Object, _
    Arg26 As Object, _
    Arg27 As Object, _
    Arg28 As Object, _
    Arg29 As Object, _
    Arg30 As Object _
) As Double
'Usage
Dim instance As WorksheetFunction
Dim Arg1 As Double
Dim Arg2 As Object
Dim Arg3 As Object
Dim Arg4 As Object
Dim Arg5 As Object
Dim Arg6 As Object
Dim Arg7 As Object
Dim Arg8 As Object
Dim Arg9 As Object
Dim Arg10 As Object
Dim Arg11 As Object
Dim Arg12 As Object
Dim Arg13 As Object
Dim Arg14 As Object
Dim Arg15 As Object
Dim Arg16 As Object
Dim Arg17 As Object
Dim Arg18 As Object
Dim Arg19 As Object
Dim Arg20 As Object
Dim Arg21 As Object
Dim Arg22 As Object
Dim Arg23 As Object
Dim Arg24 As Object
Dim Arg25 As Object
Dim Arg26 As Object
Dim Arg27 As Object
Dim Arg28 As Object
Dim Arg29 As Object
Dim Arg30 As Object
Dim returnValue As Double

returnValue = instance.Npv(Arg1, Arg2, _
    Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, _
    Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, _
    Arg15, Arg16, Arg17, Arg18, Arg19, _
    Arg20, Arg21, Arg22, Arg23, Arg24, _
    Arg25, Arg26, Arg27, Arg28, Arg29, _
    Arg30)
double Npv(
    double Arg1,
    Object Arg2,
    Object Arg3,
    Object Arg4,
    Object Arg5,
    Object Arg6,
    Object Arg7,
    Object Arg8,
    Object Arg9,
    Object Arg10,
    Object Arg11,
    Object Arg12,
    Object Arg13,
    Object Arg14,
    Object Arg15,
    Object Arg16,
    Object Arg17,
    Object Arg18,
    Object Arg19,
    Object Arg20,
    Object Arg21,
    Object Arg22,
    Object Arg23,
    Object Arg24,
    Object Arg25,
    Object Arg26,
    Object Arg27,
    Object Arg28,
    Object Arg29,
    Object Arg30
)

Parameters

  • Arg1
    Type: System.Double

    Rate - the rate of discount over the length of one period.

  • Arg2
    Type: System.Object

    Value1, value2, ... - 1 to 29 arguments representing the payments and income.

Return Value

Type: System.Double

Remarks

Value1, value2, ... must be equally spaced in time and occur at the end of each period.

Npv uses the order of value1, value2, ... to interpret the order of cash flows. Be sure to enter your payment and income values in the correct sequence.

Arguments that are numbers, empty cells, logical values, or text representations of numbers are counted; arguments that are error values or text that cannot be translated into numbers are ignored.

If an argument is an array or reference, only numbers in that array or reference are counted. Empty cells, logical values, text, or error values in the array or reference are ignored.

The Npv investment begins one period before the date of the value1 cash flow and ends with the last cash flow in the list. The Npv calculation is based on future cash flows. If your first cash flow occurs at the beginning of the first period, the first value must be added to the Npv result, not included in the values arguments. For more information, see the examples below.

If n is the number of cash flows in the list of values, the formula for Npv is:

Figure 1: Formula for the Npv method

Formula for the Npv method

Npv is similar to the Pv(Double, Double, Double, Object, Object) function (present value). The primary difference between PV and Npv is that Pv(Double, Double, Double, Object, Object) allows cash flows to begin either at the end or at the beginning of the period. Unlike the variable Npv cash flow values, Pv(Double, Double, Double, Object, Object) cash flows must be constant throughout the investment. For information about annuities and financial functions, see Pv(Double, Double, Double, Object, Object).

Npv is also related to the Irr(Object, Object) function (internal rate of return). Irr(Object, Object) is the rate for which Npv equals zero: NPV(IRR(...), ...) = 0.

See Also

Reference

WorksheetFunction Interface

WorksheetFunction Members

Microsoft.Office.Interop.Excel Namespace