FV(), Payment(), PV()
These functions do computations for financial transactions. They return future value, payment amount and present value, respectively.
Usage |
nFutureValue = FV( nPayment, nPeriodicInterest, nPeriods ) nPresentValue = PV( nPayment, nPeriodicInterest, nPeriods ) |
Parameter |
Value |
Meaning |
nPayment |
Any numeric type |
The amount paid or received at the end of each period. (For example, the amount paid into a retirement account each month.) |
nPeriodicInterest |
Any numeric type |
The interest rate for one period. If payments are made monthly, this is the monthly interest rate. |
nPeriods |
Any numeric type |
The number of periods involved. For example, if there are monthly payments for one year, nPeriods is 12. |
nFutureValue |
Numeric or Currency, depending on the type of nPayment |
The future value of an investment. |
nPresentValue |
Numeric or Currency, depending on the type of nPayment |
The amount that must be invested to end up with a specified amount at the end of a specified time. |
Both PV() and FV() allow you to pass negative numbers for nPeriodicInterest and nPeriods, but the results don't change. That is, FV(100, .01, 12)=FV(100, -.01, 12). Clearly this is wrong. Either these functions should reject negative interest rates and periods or they should return appropriate results. These bugs have been there since time immemorial, so we've pretty much given up hope of their getting fixed. |
Example |
* $100 a month at 12% for one year ?FV(100, .01, 12) * Future Value is 1268.25 - what you'll have * after one year of this. ?PV(100, .01, 12) * Present Value is 1125.51 - pay 1/12th each * month to end up with $1200. |
Usage |
nPayment = PAYMENT( nPrincipal, nPeriodicInterest, nPeriods ) |
Parameter |
Value |
Meaning |
nPrincipal |
Any numeric type |
The amount of debt. For example, the amount of a mortgage. |
nPeriodicInterest |
Any numeric type |
The interest rate for one period. If payments are made monthly, this is the monthly interest rate. |
nPeriods |
Any numeric type |
The number of periods involved. For example, for a 30-year mortgage paid monthly, nPeriods is 360. |
nPayment |
Numeric or Currency, depending on nPrincipal |
The monthly payment necessary to pay off nPrincipal at nPeriodicInterest in nPeriods. |
PAYMENT() shares the bug of allowing, but ignoring, negative interest rates and number of periods. |
Example |
* $10,000 at 12% for 1 year, monthly payments ? PAYMENT(10000, .01, 12) && Returns 888.49 * Make it weekly payments ? PAYMENT(10000, .12/52, 52) && Returns 204.30 * Make one annual payment ? PAYMENT(10000, .12, 1) && Returns 11200 |
See Also |