This article was previously published under Q110854
For a Microsoft Excel 98 version of this article, see 192376.
The RATE() function in Microsoft Excel returns the periodic interest rate necessary for an investment to grow to a specific value over a specified number of compounding periods. However, the RATE() function assumes a known periodic payment amount. 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 annualizedinterest rate for an investment with more than one compounding period peryear. You can also use a custom function to make this calculation easier.
To use the RATE() function in Microsoft Excel when the payment per periodis not known, you must enter the number of compounding periods, thepresent value as a negative number, and the future value.
For example, an initial investment of $1,000, that has grown to $2,000when compounded quarterly over six years would return 2.93% per quarterwhen entered as follows:
To determine the annualized interest rate for an investment, use thefollowing formula
where FV is the future value of an investment, PV is the initialinvestment, N is the total number of compounding periods, and M is thenumber of compounding periods per year.
The following formula, when used with the numbers from the previousexample, will return 12.2462% per year:
Creating a Visual Basic Function
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers 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 requirements. To create this function in Microsoft Visual Basic for Applications, follow these steps:
Start Microsoft Excel and press ALT+F11 to start the Visual Basic Editor.
On the Insert menu, click Module.
In the module sheet, type the following function:
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.
Press ALT+Q to return to Excel.
Using the Function
To use the custom function, follow these steps:
Type the following values in a worksheet:
A1: 20000 A2: 10000 A3: 72 A4: 12
In any blank cell, type the following formula:
The annual interest rate is returned as .122462 (12.2462%).
For more information about the RATE worksheet function, click Microsoft Excel Help on the Help menu, type rate worksheet function in the Office Assistant or the Answer Wizard, and then click Search to view the topic.