## Net Present Value FunctionMath Financial Class

```Public Function NetPresentValue( _
ByVal vRate As Variant _
, ByVal vValues As Variant _
) As Variant```

### Calculate the Net Present Value of an investment based on a series of periodic cash flows and a discount rate.

Example: What is the net present value of an investment where \$2,000 is paid at the beginning of year one, \$3,000 is paid at the beginning of year two, \$4,000 is paid at the beginning of year three, and \$10,000 is received at the beginning of year four, assuming the annual interest rate is 7%? Approximately \$-134.51.
`    NetPresentValue(0.07, Array(-3000, -4000, 10000)) - 2000 = -134.51446194133`
Example: What is the net present value of an transaction where \$2,000 is received at the end of year one, \$3,000 is received at the end of year two, \$4,000 is received at the end of year three, and \$10,000 is paid at the end of year four, assuming the annual interest rate is 7%? Approximately \$125.71.
`    NetPresentValue(0.07, Array(2000, 3000, 4000, -10000)) = 125.714450412458`
See the NetPresentValueVerify Subroutine for more examples of this Function.
```    UnevenNetPresentValue Function
PresentValue Function
InternalRateOfReturn Function
ModifiedInternalRateOfReturn Function
UnevenInternalRateOfReturn Function
XIRR Function
NPV Function (Visual Basic)
NPV Function (Microsoft Excel)```
Summary: The net present value of an investment is the current value of a future series of cash flows. This function uses the order of the values within the array vValues as the order of the payments and receipts. The investment begins one period before the the first cash flow in vValues. If the first cash flow occurs at the beginning of the first period, that first value must be added to the value returned by this function and must not be included in the cash flow values array vValues.
vRate: Discount rate used throughout the investment. For example, 9% would be represented as 0.09.
vValues: One dimensional array of values representing a the periodic cash flows. The array must contain at least one payment (a negative value) and at least one receipt (a positive value). Every element of this array is examined and considered to be one cash flow, unlike some other Entisoft Tools functions which examine arrays beginning with element #1.
Related functions: Use the PresentValue function if the cash flows are the fixed (they are all the same amount) throughout the investment. Use the UnevenNetPresentValue function if the cash flows are not periodic (they do not occur at regular intervals).
v2.0 Addition: This function is new to this version of Entisoft Tools.