Siebel VB Language Reference > VB Language Reference >

IPmt Function

This standard VB function returns the interest portion of a payment for a given period of an annuity.


IPmt(rate, period, nper, pv, fv, due)



Interest rate per period


The specific payment period, in the range 1 through nper


The total number of payment periods


The present value of the initial lump sum paid (as in an annuity) or received (as in a loan)


The future value of the final lump sum required (as in a savings plan) or paid (which is 0 in a loan)


0 if payments are due at the end of the payment period

1 if payments are due at the beginning of the payment period


The interest portion of a payment for a given payment period.


The given interest rate is assumed to be 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 interest portion of a loan payment amount for payments made in the last month of the first year. The loan is for $25,000 to be paid back over 5 years at 9.5% interest.

Sub Button_Click
   Dim aprate, periods
   Dim payperiod
   Dim loanpv, due
   Dim loanfv, intpaid
   Dim msgtext
   aprate = .095
   payperiod = 12
   periods = 120
   loanpv = 25000
   loanfv = 0
   ' Assume payments are made at end of month
   due = 0
   intpaid = IPmt(aprate/12,payperiod,periods, _
   msgtext = "For a loan of $25,000 @ 9.5% for 10 years," _
    & Chr(10)
   msgtext = msgtext + "the interest paid in month 12 is: "_
         & Format(intpaid, "Currency")
End Sub

See Also

FV Function
IRR Function
NPV Function
Pmt Function
PPmt Function
PV Function
Rate Function

Siebel VB Language Reference