SpreadJS Documentation
NPV
SpreadJS Documentation > Formula Reference > Formula Functions > NPV

This function calculates the net present value of an investment by using a discount rate and a series of future payments and income.

Syntax

NPV(discount,value1,value2,...)

Arguments

This function has these arguments:

Argument Description
discount Rate of discount for one period
value1,... Values for money paid out (as for a payment) are negative numbers; values for money you receive (as for income) are positive numbers

The function includes in calculations arguments that are numbers, empty cells, logical values, or text representations of numbers; the function ignores arguments that are error values or text that cannot be translated into numbers. 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. This function can have up to 255 arguments.

Remarks

The payments and income must be equally spaced in time and occur at the end of each period. The function uses the order of the values to interpret the order of cash flows. Be sure to enter your payment and income values in the correct sequence.

The investment begins one period before the date of the value1 cash flow and ends with the last cash flow in the list. The 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 result, not included in the value arguments.

This function is similar to the PV function (present value). Use PV to work with cash flows that begin at the beginning or the end of the period; this function allows cash flows only at the end of the period. Unlike the variable cash flow values of this function, PV cash flows must be constant throughout the investment.

This is also related to the IRR function (internal rate of return). IRR is equivalent to this function when the rate argument for net present value equals zero: NPV(IRR(...),...) = 0.

Data Types

Accepts numeric data for all arguments. Returns numeric data.

Examples

NPV(0.065,D12:D19)

NPV(R1C1,R12C4:R19C4)

NPV(6.5%, -10000, 3000, 3400, 7700) gives the result $2,055.38

See Also