See Also Example
Description
Returns the net present value of an investment based on a series of periodic cash flows (payments and receipts) and a discount rate.
Syntax
NPV(rate, valuearray( ))
Remarks
The net present value of an investment is the current value of a future series of payments and receipts.
The NPV function uses the following arguments:
Argument Description
rate Discount rate over the length of the period, expressed as a decimal.
valuearray( ) Array of cash flow values. The array must contain at least one negative value (a payment) and one positive value (a receipt).
The NPV function uses the order of values within the array to interpret the order of payments and receipts. Be sure to enter your payment and receipt values in the correct sequence.
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.
The net present value 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 value returned by NPV and must not be included in the cash flow values of valuearray( ).
The NPV function differs from the PV function in the following ways:
Function | Payments due | Cash flow |
NPV | At the end of the period. | Is variable. |
PV | At the end or beginning of the period. | Is constant. |
Because the NPV function requires an array of cash flows, it can't be used as an expression
Distribution Note When you create and distribute applications that use any of the financial functions, you should install the file MSAFINX.DLL in the customer's Microsoft Windows \SYSTEM directory. The Visual Basic Setup Kit provides tools to help you write setup programs that install your applications.