How to Mirr Function in Excel

Learn multiple Excel methods to mirr function with step-by-step examples and practical applications.

excelformulaspreadsheettutorial
12 min read • Last updated: 7/2/2025

How to Mirr Function in Excel

Why This Task Matters in Excel

For analysts, accountants, and business owners, very few questions are as critical as “Is this project truly profitable once I factor in my cost of capital and what I can earn on the money the project returns?” Traditional measures such as payback period or even the regular IRR can give misleading answers because they silently assume you can reinvest every positive cash flow at exactly the same rate you used to borrow the money. In real life, you usually finance at one rate—often your weighted average cost of capital—and reinvest surpluses at a very different, and usually lower, rate. The Modified Internal Rate of Return (MIRR) corrects this flaw by allowing you to specify two separate rates: a finance rate for the outflows and a reinvestment rate for the inflows.

Imagine a retail chain opening a new store. The build-out is financed with a bank loan at 8 percent, while surplus cash generated during the life of the project is usually parked in the group’s treasury pool earning just 4 percent. MIRR lets the finance team plug both numbers into a single formula and arrive at one clear performance figure that already incorporates these two realities. The same principle applies to private-equity funds comparing portfolio companies, construction firms bidding on multi-year contracts, or non-profits evaluating grant-funded programs with restricted investment rules.

Because Excel is almost universally available and offers built-in financial functions, using MIRR inside a spreadsheet becomes the fastest route from raw cash-flow schedules to board-ready numbers. A lack of MIRR knowledge often leads to inflated IRRs, poor project selection, or mispriced capital. Worse, it can distort incentive schemes where managers are rewarded for hitting unrealistic hurdle rates. Mastering MIRR not only sharpens individual decision-making but also connects to broader Excel workflows such as scenario analysis, data tables, and dashboard reporting.

Best Excel Approach

The dedicated MIRR function is almost always the best tool because it was designed exactly for this purpose, requires only one line of code, and works with both legacy spreadsheets and the newest Microsoft 365 versions. Although you can reverse-engineer the calculation with FV, PV, and RATE, that approach is longer, harder to audit, and more error-prone. Choose MIRR when you:

  • Have periodic (equally spaced) cash flows
  • Know your borrowing rate and your reinvestment rate
  • Want a single percentage that is directly comparable to IRR or your hurdle rate

Avoid MIRR if your cash flows are irregularly timed (for example, semi-annual and quarterly mixtures); in that case, XIRR or a manual discounted cash-flow model is better.

Syntax and argument breakdown:

=MIRR(values, finance_rate, reinvest_rate)
  • values – A contiguous range such as [B2:B10] containing at least one negative (outflow) and one positive (inflow) number.
  • finance_rate – The interest rate you pay on the money used to finance the investments (outflows).
  • reinvest_rate – The interest rate you can earn on interim cash inflows.

If you need a simpler benchmark or do not know distinct finance and reinvest rates, you might revert to the traditional IRR:

=IRR(values)

However, remember that IRR implicitly assumes that finance_rate and reinvest_rate are identical, which is rarely the case in practice.

Parameters and Inputs

  1. Cash-flow range (values)
  • Must be numeric; blank cells are ignored, text causes #VALUE! errors.
  • At least one value must be negative and one positive, otherwise MIRR returns #DIV/0!.
  • Treat all cash flows as occurring at the end of each period; MIRR does not support irregular timing.
  1. finance_rate
    • Accepts either a percentage (0.08) or a reference to a cell containing that percentage (for example [E2]).
    • If set to 0, Excel assumes interest-free financing, which is rarely realistic but sometimes useful for quick sensitivity checks.
  2. reinvest_rate
    • Format identically to finance_rate.
    • Typical source is your organization’s expected short-term investment return or treasury rate.
  3. Data preparation
  • Keep all cash-flow cells in the same column or row; avoid mixing signs within the same period (for instance, do not record netted totals if inflows and outflows occur separately).
  • Use consistent period length (monthly, quarterly, yearly) throughout. Switching mid-stream yields misleading MIRR figures.
  1. Edge-case handling
  • If all cash flows except the first are positive, you are fine. If later in your schedule you have unexpected negative maintenance or disposal costs, that is acceptable as long as at least one inflow exists.
  • Use named ranges like “Project_CF” to make formulas easier to audit.
  • Apply Data Validation on the finance and reinvest rate cells to ensure they remain non-negative.

Step-by-Step Examples

Example 1: Basic Scenario

Assume you spend −100 000 today and receive 25 000 at the end of each of the next five years. You borrow at 7 percent and reinvest surpluses at 3 percent.

  1. Lay out the cash flows in [B2:B7]:
    [B2] = −100000, [B3] = 25000, … [B7] = 25000.
  2. In [E2] enter 7 percent as the finance_rate; in [E3] enter 3 percent as the reinvest_rate.
  3. Enter the formula:
=MIRR(B2:B7, E2, E3)
  1. Result: 4.99 percent (your figure may differ slightly due to rounding), meaning the project effectively earns just under 5 percent given those two rates.

Why it works: MIRR first compounds each positive cash flow forward at 3 percent to the end of the schedule, sums them, then discounts the initial outflows back at 7 percent, and finally finds one uniform annual rate that links the two totals.

Variations:

  • Change the reinvest_rate to 0 to model a worst-case “cash under the mattress” scenario.
  • Increase finance_rate to 10 percent to simulate a rising cost of capital.

Troubleshooting: If you see #DIV/0!, double-check that at least one positive and one negative value exist. If #VALUE! appears, ensure no text labels accidentally crept into [B2:B7].

Example 2: Real-World Application

A manufacturing company evaluates a packaging line upgrade. Cash-flow schedule (quarterly) is in [C5:C13]:

PeriodCash flow
0−2 000 000
1−500 000
2400 000
3650 000
4750 000
5800 000
6900 000
7950 000
81 000 000

Finance is through a revolving credit facility at 9.5 percent annual, while surplus funds earn 4.5 percent. Because cash flows are quarterly, you must convert annual rates to quarterly equivalents: 9.5 percent ÷ 4 = 2.375 percent; 4.5 percent ÷ 4 = 1.125 percent.

  1. Record 0.02375 in [H2] as finance_rate_qtr and 0.01125 in [H3] as reinvest_rate_qtr.
  2. Calculate MIRR in [H5]:
=MIRR(C5:C13, H2, H3)
  1. Result: 2.72 percent per quarter. To express it as an annual effective rate:
=(1+H5)^4-1
  1. You obtain 11.35 percent annual MIRR, comfortably above the company’s 10 percent hurdle.

Business benefit: The operations team now has a numeric justification that takes actual financing and treasury realities into account. Finance can paste the rate directly into a slide knowing board members will not challenge the reinvestment assumption.

Integration tip: Use conditional formatting to highlight when annual MIRR ≥ hurdle. You can also add a scenario drop-down to switch between low, base, and high revenue forecasts, each feeding its own cash-flow column.

Performance note: Even with 10 000 rows, MIRR recalculates instantly because it processes one contiguous array, unlike iterative goal-seek methods.

Example 3: Advanced Technique

You manage a portfolio of solar farms with 25-year monthly cash flows (300 periods). Financing is a blended 80% debt at 6 percent and 20% equity requiring 12 percent, while surplus cash is swept daily to a money-market fund yielding 3 percent annual. You want to:

  • Calculate MIRR monthly.
  • Allow sensitivity across five different reinvest rates.
  • Present the results in a dynamic summary table.

Steps:

  1. Place monthly cash flows in [B2:B301].
  2. In [E2:E6] list reinvest rates you want to test: 0.03, 0.04, 0.05, 0.06, 0.07 (annual).
  3. Compute the monthly equivalents in [F2] with:
=E2/12

Copy down.
4. Store finance_rate_month in [H2] as 0.06/12 = 0.005.
5. In [G2] array-enter (Excel 365 spills automatically) the MIRR calculation:

=MIRR(B2:B301, $H$2, F2#)

Because F2# refers to the spilled array [F2:F6], MIRR returns a vertical array of five monthly MIRR values.
6. Convert each to an annual effective rate by wrapping the formula:

=(1+MIRR(B2:B301, $H$2, F2#))^12-1
  1. Format results as percentages with two decimals. You now have a one-glance view of how the project performs under various treasury assumptions.

Advanced features used:

  • Dynamic arrays for simultaneous multi-rate evaluation.
  • Absolute-relative references ($H$2) mixed with spilled ranges.
  • Annualization via exponentiation.

Optimization: On large models, turn calculation to Manual before filling huge cash-flow arrays, then press F9 when ready. Error handling: wrap MIRR inside IFERROR to display blank cells instead of error codes during what-if analysis.

Tips and Best Practices

  1. Name your cash-flow range (Formulas ▶ Define Name) and use it in MIRR—for example =MIRR(Project_CF, E2, E3)—to make formulas self-explanatory.
  2. Keep finance_rate and reinvest_rate in input sheets separate from calculation sheets to follow sound model architecture.
  3. Convert annual rates to period rates using simple division when periods are equal. For compounded accuracy, use (1+annual)^(1/n)-1.
  4. Use Data Tables (What-If Analysis) to create a two-dimensional grid of MIRR results across multiple finance and reinvest rates.
  5. Document assumptions right next to input cells; a comment or note reminding future users which benchmark each rate matches saves headaches.
  6. Protect worksheets so users can edit only designated input cells, preventing accidental overwrites of your MIRR formulas.

Common Mistakes to Avoid

  1. Mixing timing conventions—recording year-0 and year-1 cash flows but dividing annual rates by 12 “just to be safe”—produces distorted MIRR readings. Stick to one consistent period length.
  2. Entering cash inflows as positives and outflows as positives too (forgetting the leading minus) causes MIRR to throw #DIV/0!. Check sign conventions carefully.
  3. Copy-pasting a MIRR formula from another workbook without updating the finance_rate and reinvest_rate references yields silent but wrong results. Always audit with Trace Dependents.
  4. Applying MIRR to irregularly dated cash flows: the function assumes equal spacing. Use XIRR instead when dates vary.
  5. Forgetting to convert MIRR from period to annual terms leads to apples-to-oranges comparisons against an annual hurdle rate. Always translate before presenting.

Alternative Methods

MethodProsConsWhen to Use
MIRR (built-in)Fast, one cell, auditable, accepts two ratesRequires equal periodsStandard evaluations with regular timing
IRRSimple, widely knownAssumes identical reinvest and finance rate, can exaggerate returnsQuick back-of-the-envelope or when reinvest rate ≈ finance rate
XIRRHandles actual datesSlightly slower, still ignores separate reinvest rateProjects with irregular cash-flow dates
Manual DCF (PV & FV)Maximum flexibility, can layer taxes, feesMany rows, higher audit workloadComplex models with multiple financing tranches
VBA custom functionTailored logic, can loop through scenariosCode maintenance, macro security warningsEnterprise models needing automation or custom reinvest logic

Performance: MIRR and IRR are near-instant even on 1 million rows. XIRR is slower but acceptable below 10 000 rows. Manual DCF scales linearly with rows but is transparent. VBA adds overhead and should be optimized with arrays, not cell-by-cell loops.

FAQ

When should I use this approach?

Use MIRR whenever you have periodic cash flows and want to reflect different borrowing and reinvestment realities. It is ideal for capital budgeting, equipment leases, and product line expansions where interim cash generates only modest treasury returns.

Can this work across multiple sheets?

Yes. Simply reference the cash-flow range on another sheet:

=MIRR(‘CashFlows’!B2:B61, Assumptions!B2, Assumptions!B3)

Ensure the external sheet remains open; otherwise Excel retains the last calculated value but cannot recalc.

What are the limitations?

MIRR needs at least one inflow and one outflow, equal period spacing, and constant finance/reinvest rates. It cannot handle step-down financing or escalating reinvest returns without additional modeling.

How do I handle errors?

Wrap the formula:

=IFERROR(MIRR(values, finance_rate, reinvest_rate),"Check inputs")

Audit signs and blank cells, and verify that finance_rate and reinvest_rate are numeric.

Does this work in older Excel versions?

Yes, MIRR has existed since Excel 95. Function syntax is unchanged. Dynamic array examples require Microsoft 365; in older versions you would enter separate MIRR formulas per reinvest rate.

What about performance with large datasets?

MIRR is non-iterative, so speed is rarely an issue. For massive models, place MIRR on a summary sheet referencing a single named range rather than multiple scattered ranges, and set calculation to Automatic Except Data Tables if using large what-if grids.

Conclusion

Mastering MIRR arms you with a more realistic profitability metric that recognizes the twin realities of financing costs and reinvestment constraints. Armed with the techniques in this tutorial—ranging from one-cell formulas to dynamic array sensitivity tables—you can evaluate projects with greater confidence, communicate findings persuasively, and avoid the common IRR trap of overstated returns. Keep practicing by plugging MIRR into your next capital request, experiment with different period lengths, and soon you will consider it an indispensable part of your Excel financial toolkit.

We use tracking cookies to understand how you use the product and help us improve it. Please accept cookies to help us improve.