Name
NPV Function
Class
Microsoft.VisualBasic.Financial
Syntax
NPV(rate,valuearray( ) )
-
rate(required; Double) The discount rate over the period, expressed as a decimal
-
valuearray( ) (required; Double) An array of cash flow values
Return Value
A Double specifying the net present value
Description
Calculates the net present value of an investment based on a series of periodic variable cash flows (payments and receipts) and a discount rate
The net present value is the value today of a series of future cash flows discounted at some rate back to the first day of the investment period.
Rules at a Glance
ratemust be a percentage expressed as a decimal. For example, 10% is expressed as 0.10.valuesis a one-dimensional array that must contain at least one negative value (a payment) and one positive value (a receipt).The NPV investment begins one period before the date of the first cash flow value and ends with the last cash flow value in the array.
NPV requires future cash flows. If the first cash flow occurs at the beginning of the first period, the first value must be added to the value returned by NPV and must not be included in
values.
Programming Tips and Gotchas
rateand the individual elements ofvaluesmust reflect the same time period. For example, ifvaluesreflects annual cash flows,ratemust be the annual discount rate.Individual members of
valuesare interpreted sequentially. That is,values(0)is the first cash flow,values(1)is the second, etc.NPV is like the PV function, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access