Hi All,
I would like to calculate the interest rate of a Capital Lease for a situation where the the rental/instalment amounts increases annually by a certain percentage over the term of the lease.
I do not want to draw up full tables to achieve this.
In the case of payments at the end of the period I have found a solution for this provided by joeu2004 under a similar posted under:
http://www.mrexcel.com/forum/excel-questions/761879-interest-rate-calculation-payment-increases.html
However I am unable (lack the knowledge/skills) to change this VBA function to accomodate payments in advance at the beginning of the period.
Please help.
For ease of reference the solution to the payments at the end of the period was as follows:
If you would like to avoid enumerating the IRR input in column D, you could replace the IRR formula in B8 with =varpmtRate(B2,B1,B6,B7). You can also delete the array-entered formula in B11. The <acronym title="visual basic for applications" style="border-width: 0px 0px 1px; border-bottom-style: dotted; border-bottom-color: rgb(0, 0, 0); cursor: help;">VBA</acronym> function varpmtRate is:
Code:
Function varpmtRate(npmt As Long, myPV As Double, _ ByVal myPmt As Double, ByVal pmtIncr As Double) As DoubleDim i As LongReDim v(0 To npmt) As DoublemyPmt = -Abs(myPmt)pmtIncr = 1 + pmtIncrv(0) = Abs(myPV)v(1) = myPmtFor i = 2 To npmt If (i - 1) Mod 12 = 0 Then myPmt = myPmt * pmtIncr v(i) = myPmtNextvarpmtRate = WorksheetFunction.IRR(v)End Function</pre>
For comparison, download the updated file "varpmt int rate.xls" (click here) [1]. I left the IRR formula in B8, and I put the varpmtRate formula into B14.
I would like to calculate the interest rate of a Capital Lease for a situation where the the rental/instalment amounts increases annually by a certain percentage over the term of the lease.
I do not want to draw up full tables to achieve this.
In the case of payments at the end of the period I have found a solution for this provided by joeu2004 under a similar posted under:
http://www.mrexcel.com/forum/excel-questions/761879-interest-rate-calculation-payment-increases.html
However I am unable (lack the knowledge/skills) to change this VBA function to accomodate payments in advance at the beginning of the period.
Please help.
For ease of reference the solution to the payments at the end of the period was as follows:
If you would like to avoid enumerating the IRR input in column D, you could replace the IRR formula in B8 with =varpmtRate(B2,B1,B6,B7). You can also delete the array-entered formula in B11. The <acronym title="visual basic for applications" style="border-width: 0px 0px 1px; border-bottom-style: dotted; border-bottom-color: rgb(0, 0, 0); cursor: help;">VBA</acronym> function varpmtRate is:
Code:
Function varpmtRate(npmt As Long, myPV As Double, _ ByVal myPmt As Double, ByVal pmtIncr As Double) As DoubleDim i As LongReDim v(0 To npmt) As DoublemyPmt = -Abs(myPmt)pmtIncr = 1 + pmtIncrv(0) = Abs(myPV)v(1) = myPmtFor i = 2 To npmt If (i - 1) Mod 12 = 0 Then myPmt = myPmt * pmtIncr v(i) = myPmtNextvarpmtRate = WorksheetFunction.IRR(v)End Function</pre>
For comparison, download the updated file "varpmt int rate.xls" (click here) [1]. I left the IRR formula in B8, and I put the varpmtRate formula into B14.