Siebel VB Language Reference > VB Language Reference >

PV Function

This standard VB function returns the present value of a constant periodic stream of cash flows as in an annuity or a loan.


PV(rate, nper, pmt, fv, due)



The interest rate per period


The total number of payment periods


The constant periodic payment per period


The future value of the final lump sum amount required (as with a savings plan) or paid (0 as with a loan)


0 if due at the end of each period

1 if due at the beginning of each period


The present value of a constant periodic stream of cash flows.


Rate is assumed constant over the life of the annuity. If payments are on a monthly schedule, then rate is 0.0075 if the annual percentage rate on the annuity or loan is 9%.


This example finds the present value of a 10-year $25,000 annuity that pays $1,000 a year at 9.5%.

Sub Button_Click
   Dim aprate As Integer, periods As Integer
   Dim payment As Double, annuityfv As Double
   Dim due As Integer, presentvalue As Double
   Dim msgtext
   aprate = 9.5
   periods = 120
   payment = 1000
   annuityfv = 25000
      ' Assume payments are made at end of month
   due = 0
   presentvalue = PV(aprate/12,periods,-payment, annuityfv,due)
   msgtext = "The present value for a 10-year $25,000 annuity @ 9.5%"
   msgtext = msgtext & " with a periodic payment of $1,000 is: "
      msgtext = msgtext & Format(presentvalue, "Currency")
End Sub

See Also

FV Function
IPmt Function
IRR Function
NPV Function
Pmt Function
PPmt Function
Rate Function

Siebel VB Language Reference