XL: Computing Periodic Annual Interest Rate in Microsoft Excel

ID: Q110854


The information in this article applies to:
  • Microsoft Excel for Windows, versions 2.10c, 2.10d, 3.0, 3.0a, 4.0, 4.0a, 5.0, 5.0c
  • Microsoft Excel for Windows 95, version 7.0
  • Microsoft Excel for the Macintosh, versions 2.20, 2.2a, 3.0, 4.0, 5.0, 5.0a
  • Microsoft Excel for Windows NT, version 5.0
  • Microsoft Excel 97 for Windows


SUMMARY

The RATE() function in Microsoft Excel, and the @RATE function in Lotus 1- 2-3, both return the periodic interest rate necessary for an investment to grow to a specific value over a specified number of compounding periods. However, in Microsoft Excel, RATE() assumes a known stream of payments. If the payment amount per period is not known, you can still use the RATE() function, but you must modify it slightly.

You must use a manually entered formula to determine the annualized interest rate for an investment with more than one compounding period per year. You can also use a custom function to make this calculation easier.


MORE INFORMATION

To use the RATE() function in Microsoft Excel when the payment per period is not known, you must enter the number of compounding periods, the present value as a negative number, and the future value.

For example, an initial investment of $1,000, that has grown to $2,000 when compounded quarterly over six years would return 2.93% per quarter when entered as follows:

=RATE(24,,-1000,2000)
To determine the annualized interest rate for an investment, use the following formula
=((FV/PV)^(1/N)^M)-1
where FV is the future value of an investment, PV is the initial investment, N is the total number of compounding periods, and M is the number of compounding periods per year.

The following formula, when used with the numbers from the previous example, will return 12.2462% per year:
=((2000/1000)^(1/24)^4)-1

Creating a Function Macro in Excel 5.0 or Later

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:
http://www.microsoft.com/support/supportnet/overview/overview.asp
To create this function using Visual Basic for Applications, enter the following in a new Visual Basic module:

   Function Yearly_Rate(FV, PV, N, M) As Double     'Defines variables
       Yearly_Rate = ((FV / PV) ^ (1 / N)^M) - 1    'Performs computation
   End Function                                     'Ends function 
To use the custom function, follow these steps:
  1. Enter the following values on a worksheet:
    A1: 20000
    A2: 10000
    A3: 72
    A4: 12


  2. In any blank cell, enter the following formula:
    =Yearly_Rate(A1,A2,A3,A4)


The annual interest rate returned is 12.2462%.

Creating a Function Macro for Excel 2.0, 3.0 or 4.0

You can use a custom function in Microsoft Excel to compute the annual interest rate. To create this function enter the following in a Microsoft Excel macro sheet:
B1: Yearly_Rate
B2: =RESULT(1)
B3: =ARGUMENT("FV",1)
B4: =ARGUMENT("PV",1)
B5: =ARGUMENT("N",1)
B6: =ARGUMENT("M",1)
B7: =RETURN((((FV/PV)^(1/N)^M))-1)
After entering the above formulas on a Microsoft Excel macro sheet, define it as a function macro. For information on defining function macros, see the Microsoft Excel User's Guide 2, pages 203-213.

Example

To compute the periodic interest rate for a $10,000 investment that matures in six years, compounded monthly, with a maturity value of $20,000, follow these steps:
  1. Enter the following on a Microsoft Excel worksheet:
    A1: 20000
    A2: 10000
    A3: 72
    A4: 12


  2. Select cell B1, and then click Paste Function on the Formula menu.


  3. Select the User Defined category, and then scroll to the bottom of the Paste Function list.


  4. Choose your custom function and click OK.

    If the custom function macro is placed on a sheet named "RATE.XLM", the following formula will appear in cell B1:
    =RATE.XLM!Yearly_Rate(FV,PV,N,M)


  5. Enter the values A1,A2, A3, and A4 in place of the arguments in the formula (FV, PV, N, and M) and press ENTER.


The annual interest rate, 12.2462%, is returned by the formula.


REFERENCES

"Visual Basic User's Guide," version 5.0, pages 41-48

"User's Guide 2," version 4.0, pages 203-213

"Function Reference," version 4.0 pages 347-348

"Lotus 1-2-3 for DOS 2.3, @Functions and Macro Guide," Pages 69-70

Additional query words: 2.0 3.0 4.0a 5.0 8.00 97 XL97 XL7 XL5 XL4 XL3 growth

Keywords : kbualink97 kbdta kbmigrate xlvbahowto xlformula
Version : MACINTOSH:2.20,2.2a,3.0,4.0,5.0,5.0a; WINDOWS:2.10c,2.10d,3.0,3.0a,4.0,4.0a,5.0,5.0c,97; Win95:7.0; winnt:5.0
Platform : MACINTOSH Win95 WINDOWS winnt
Issue type : kbinfo


Last Reviewed: November 9, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.