# Documentation/Calc Functions/XIRR

TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate

## Function name:

XIRR

## Category:

Financial Analysis

## Summary:

Calculates the internal rate of return for a list of payments that take place on different dates. The calculation is based on a 365 days per year basis, ignoring leap years

## Syntax:

XIRR(**Values**; **Dates**[; **Guess**])

## Returns:

Returns a real number (expressed as a percentage or fraction) which is the internal rate of return for a non-periodic series of cash flows.

## Arguments:

**Values** is an array of real numbers or a reference to a range of cells containing those numbers which are a series of cash flows. The first cash-flow amount is a negative number that represents the investment. The later cash flows are discounted based on the annual discount rate and the timing of the flow. The series of cash flows should contain at least one positive and one negative value.

**Dates** is a reference to a range of cells containing those dates which are a series of dates that correspond to **Values**. The first date indicates the start of the cash flows. All other date values must be later, but need not be in any order. The range of Values and Dates shall be the same size. The series of values must contain at least one negative and one positive value (receipts and deposits).

**Guess** is the estimated value in percentage or fraction or a reference to the cell containing that value which is the interest rate to start the iterative computation. If omitted, the value 0.1 (10%) is assumed. The result of XIRR is the rate at which the XNPV() function will return zero with the given cash flows. There is no closed-form for XIRR. Implementations may return an approximate solution using an iterative method, in which case the **Guess** parameter may be used to initialize the iteration.

- If dimensions of Dates and Values are not the same then the function returns an error value.

## Additional details:

- If the payments take place at regular intervals, use the IRR function.

## Examples:

A | B | C | |
---|---|---|---|

1 | 2001-01-01 | -10000 | Received |

2 | 2001-01-02 | 2000 | Deposited |

3 | 2001-03-15 | 2500 | |

4 | 2001-05-12 | 5000 | |

5 | 2001-08-10 | 1000 |

Formula | Description | Returns |
---|---|---|

=XIRR(B1:B5; A1:A5; 0.1) | The function calculates the internal rate of return for the five payments mentioned in column B with their dates mentioned in column A. Guess value of 0.1 is used. |
0.182843485820784 or 18.28% |

=XIRR(B1:B5; A1:A5) or =XIRR({-10000;2000;2500;5000;1000},A1:A5) |
The function calculates the internal rate of return for the five payments mentioned in column B with their dates mentioned in column A. Guess value of 0.1 is used by default. |
0.182843485820784 or 18.28% |

=XIRR(B1:B5;A1:A4) | The function returns an error since the dimensions of Values and Dates are not same. |
Err:502 |

## Related LibreOffice functions:

## ODF standard:

## Equivalent Excel functions:

XIRR