IRR Function (Gnumeric)
Learn the IRR function in Gnumeric: Returns the actuarial rate of interest of an investment excluding costs or profits.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Gnumeric. How formula examples are checked
What it does. IRR solves for the per-period rate that makes a series of equally spaced positive and negative cash flows have net present value zero. It includes the time-zero flow as the first entry. The result is a rate, not a cash amount or a forecast of future performance. Gnumeric documents IRR(values,guess) and a default starting estimate of 10% (official Finance manual, IRR; implementation).
Syntax and argument order
=IRR(values,guess)
| Parameter | Required/type | Meaning/default |
|---|---|---|
values |
Required range/array of numeric cash flows | The first observed amount occurs at t=0, the next at t=1, etc. Payments are negative, receipts positive. Periods must be equally spaced. |
guess |
Optional numeric decimal rate | Starting estimate for iterative root finding; 0.1 (10%) if omitted. It does not set the required return or alter the underlying cash flows. |
The equation solved is Σ[t=0..n] Ct/(1+r)^t = 0. For a return expressed as years, the rows must represent equal annual intervals. For months, the result is a monthly rate. The source uses goal-seek/Newton, then attempts other root-finding steps if necessary, and returns a numerical error when no result is obtained (upstream C source).
Reproducible worksheet: annual project return
| Row | A — cash flow (currency units) | B — actual date | Offset from B2 |
|---|---|---|---|
| 2 | -1000 | =DATE(2025,1,1) |
0 days |
| 3 | 300 | =DATE(2025,3,1) |
59 days |
| 4 | 350 | =DATE(2025,7,1) |
181 days |
| 5 | 400 | =DATE(2026,1,1) |
365 days |
| 6 | 450 | =DATE(2026,10,1) |
638 days |
Enter the cash flows in A2:A6 as numbers (not currency strings). In B2:B6, enter the indicated DATE formulas as actual date values and format them as dates. A negative value is an outgoing investment, a positive value is a receipt. These example cash flows and dates are illustrative, not investment advice.
Treat A2:A6 as cash flows at t=0, t=1, t=2, t=3 and t=4, regardless of the irregular dates shown in B. The dates column is not an input to IRR.
=IRR(A2:A6)
Independently calculated expected result: 0.170936863395, displayed as approximately 17.0937% per period. To supply an explicit initial guess:
=IRR(A2:A6,10%)
The analytical check is -1000 + 300/(1+r) + 350/(1+r)^2 + 400/(1+r)^3 + 450/(1+r)^4 ≈ 0 at the stated rate. When the rows are interpreted as annual intervals, that is about 17.09% annually, before any unmodelled taxes or costs.
Check against NPV:
=A2+NPV(IRR(A2:A6),A3:A6)
Expected: approximately zero (a tiny nonzero floating-point residual is normal). This check works because NPV starts discounting at period 1, while IRR includes t=0 in its input range. Official manual: sections IRR and NPV.
Advanced use: multiple roots, hurdle rates and annualization
Multiple possible IRRs. If the sign reverses more than once, the net-present-value equation may have multiple roots. Example cash flows -100, 230, -132 have two mathematical solutions, 10% and 20% per period. Different guess settings may steer an iterative solver toward different roots or may fail; don’t promise a particular return from each guess. Consider comparing actual NPV at the business’s hurdle rate instead. Gnumeric explicitly states that multiple valid results are the reason for a guess parameter (manual; source).
Monthly projects. If each row is one month apart, IRR returns monthly rate m. An effective annual equivalent (assuming periodic compounding) is =(1+m)^12-1, not simply m*12. Label the annualization assumptions; this is a financial conversion, not an extra native argument.
Decision analysis. Put a 10% annual hurdle in D2, compare it to the 17.09% rate only if the periods are annual, and also inspect =A2+NPV(D2,A3:A6) (about 169.87 in this example). For uneven cash-flow dates use XIRR rather than silently assuming equal spacing.
Errors, limitations and troubleshooting
#NUM!or failure to converge: the upstream implementation returns a numeric error if its root finder fails (source). Check numeric inputs, the sign pattern and theguess; do not reinterpret the error as 0% return.- No negative or no positive amounts: such cash flows generally provide no meaningful conventional sign-changing IRR. Include the actual initial outlay as a negative first row, not a fabricated value.
- Incorrect period meaning: a result from monthly cash flows is monthly; one from quarterly flows is quarterly. Converting to annual requires a stated compounding assumption.
- Blanks/text in
values: the upstream collector ignores text and blanks (source). The resulting compressed series can shift payment periods: enter0for a real no-cash-flow interval and use numeric cells consistently. - Multiple mathematical solutions: choose and disclose an economically relevant scenario; examine an NPV-versus-rate table and use
MIRRwhen explicit finance/reinvestment assumptions are more appropriate. Do not call any single IRR an undisputed project return when there are multiple sign changes. - Does a formula return 0.17 rather than 17? Format the result as a percent; the underlying rate is a fraction, so
0.170936…means about 17.09%.
Related Gnumeric guides
Gnumeric scope and compatibility
This tutorial is for Gnumeric 1.12, checked against the official Finance manual and public function catalogue on 13 October 2026, with 1.12.62 the documented stable release announced in September 2026. The catalogue marks this named function Complete / Basic (registered implementation and a basic upstream test classification). Those are not proofs that this particular worksheet has been executed, nor a blanket guarantee of Excel, LibreOffice or another spreadsheet’s parsing, coercion or file-import behavior. The Finance manual identifies purpose and argument order. Implementation claims were independently checked against plugins/fn-financial/functions.c in the checksum-verified official Gnumeric 1.12.62 source archive on 13 October 2026. Source inspection is not native application execution.
Examples use commas as argument separators, a period for decimals, and percent input as shown in the English Gnumeric documentation. Gnumeric’s entry/display conventions may vary by locale; if your configured formula editor expects different separators, adapt the punctuation without reordering arguments. Verify any workbook imported from another program in Gnumeric before relying on financial decisions.
Verification boundary: All numerical results below were independently calculated outside Gnumeric; no native Gnumeric execution or screenshots were performed.
References
All pages and source claims below were checked on 2026-10-13.
- Gnumeric 1.12 Finance function reference — specific section for IRR, defining syntax, order, parameters and purpose.
- Gnumeric official function catalogue — IRR: Complete / Basic, an upstream registration/testing classification rather than live worksheet validation.
- GNOME Gnumeric source, financial functions — implementation details from
plugins/fn-financial/functions.cin the checksum-verified official 1.12.62 source archive. - Gnumeric 1.12.62 official release notice — current 1.12-series release context as of 2026-10-13.