Share this page:

MS Excel: IRR Function (WS, VBA)

This Excel tutorial explains how to use the Excel IRR function with syntax and examples.

Description

The Microsoft Excel IRR function returns the internal rate of return for a series of cash flows. The cash flows must occur at regular intervals, but do not have to be the same amounts for each interval.

Syntax

The syntax for the Microsoft Excel IRR function is:

IRR( range, [estimated_irr] )

Parameters or Arguments

range is a range of cells that represent the series of cash flows.

estimated_irr is optional. It is the your guess at the internal rate of return. If this parameter is omitted, the IRR function assumes an estimated_irr of 0.1 or 10%.

Note

  • Excel tries to recalculate the IRR until the result is accurate within 0.00001 percent. If after 20 tries Excel has not calculated an accurate value, it will return the #NUM! error.

Applies To

The IRR function can be used in the following versions of Microsoft Excel:

  • Excel 2013, Excel 2011 for Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000

Type of Excel Function

The IRR function can be used in Microsoft Excel as the following type of function:

  • Worksheet function (WS)
  • VBA function (VBA)

Example (as Worksheet Function)

Let's look at some Excel IRR function examples and explore how to use the IRR function as a worksheet function in Microsoft Excel:

Microsoft Excel

Based on the Excel spreadsheet above:

This first example returns an internal rate of return of 28%. It assumes that you start a business at a cost of $7,500. You net the following income for the first four years: $3,000, $5,000, $1,200, and $4,000.

=IRR(A1:A5)

This next example returns an internal rate of return of 5%. It assumes that you start a business at a cost of $10,000. You net the following income for the first three years: $3,400, $6,500, and $1,000.

=IRR(B1:B4)

Example (as VBA Function)

The IRR function can also be used in VBA code in Microsoft Excel.

Let's look at some Excel IRR function examples and explore how to use the IRR function in Excel VBA code:

Dim LNumber As Double
Static Values(5) As Double

Values(0) = -7500
Values(1) = 3000
Values(2) = 5000
Values(3) = 1200
Values(4) = 4000

LNumber = Irr(Values())

In this example, the variable called LNumber would now contain the value of 0.276668413.