Programming Reference Manual
 
Syntax
 
FinNpv(Rate,ValueArray())
 
Description
Returns the net present value of an annuity based on periodic payments and receipts, and a discount rate.
 
Positive numbers represent cash received, whereas negative numbers represent cash paid out.
 
For accurate results, be sure to enter your payments and receipts in the correct order because FinNpv uses the order of the array values to interpret the order of the payments and receipts.
 
If your first cash flow occurs at the beginning of the first period, that value must be added to the return value of the FinNpv function. It should not be included in the array of cash flows.
 
FinNpv differs from the FinPv function in that the payments are due at the end of the period and the cash flows are variable. FinPv’s cash flows are constant, and payment may be made at either the beginning or end of the period.
 
Parameter
Description
Rate
Double that represents the interest rate over the length of the period. If the values are monthly, annual rates must be divided by 12 to normalize them to monthly rates.
ValueArray()
Array of Double numbers representing the payments and receipts. Positive values are payments, and negative values are receipts. There must be at least one positive and one negative value.
See Also
Example
Sub Main
'This example calculates the payment necessary to
'repay a $1,000.00 loan over 36 months at an annual
'rate of 10%. Payments are due at the beginning of
'the period.
 
x = Pmt((.1/12),36,1000.00,0,1)
msg = "The payment to amortize $1,000 " & _
"over 36 months @ 10% is: "
MsgBox msg & Format(x,"###,###,##0.00")
End Sub