# XIRR

Returns the internal rate of return for a schedule of cash flows that is not necessarily periodic. To calculate the internal rate of return for a series of periodic cash flows, use the IRR function.

If this function is not available, run the Setup program to install the Analysis ToolPak. After you install the Analysis ToolPak, you must enable it by using the **Add-Ins** command on the **Tools** menu.

**Syntax**

**XIRR**(**values**,**dates**,guess)

**Values** is a series of cash flows that corresponds to a schedule of payments in dates. The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. All succeeding payments are discounted based on a 365-day year.

**Dates** is a schedule of payment dates that corresponds to the cash flow payments. The first payment date indicates the beginning of the schedule of payments. All other dates must be later than this date, but they may occur in any order.

Guess is a number that you guess is close to the result of XIRR.

**Remarks**

- Numbers in dates are truncated to integers.
- If any argument is nonnumeric, XIRR returns the #VALUE! error value.
- XIRR expects at least one positive cash flow and one negative cash flow; otherwise, XIRR returns the #NUM! error value.
- If any number in dates is not a valid date, XIRR returns the #NUM! error value.
- If any number in dates precedes the starting date, XIRR returns the #NUM! error value.
- If values and dates contain a different number of values, XIRR returns the #NUM! error value.
- In most cases you do not need to provide guess for the XIRR calculation. If omitted, guess is assumed to be 0.1 (10 percent).
- XIRR is closely related to XNPV, the net present value function. The rate of return calculated by XIRR is the interest rate corresponding to XNPV = 0. Microsoft Excel uses an iterative technique for calculating XIRR. Using a changing rate (starting with guess), XIRR cycles through the calculation until the result is accurate within 0.000001 percent. If XIRR can't find a result that works after 100 tries, the #NUM! error value is returned. The rate is changed until:
where:

di = the ith, or last, payment date.

d

_{1}= the 0th payment date.Pi = the ith, or last, payment.

**Example**

Consider an investment that requires a $10,000 cash payment on January 1, 1992, and returns $2,750 on March 1, 1992, $4,250 on October 30, 1992, $3,250 on February 15, 1993, and $2,750 on April 1, 1993. The internal rate of return (in the 1900 date system) is:

`XIRR({-10000,2750,4250,3250,2750},`

`{"1/1/92","3/1/92","10/30/92","2/15/93","4/1/93"},0.1)`

equals 0.373363 or 37.3363 percent