# MS Excel: IRR Function (WS, VBA)

Learn 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:

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.