IRR Function in Excel
The IRR function calculates internal rate of return for cash flows. Learn to evaluate investment profitability with practical examples.
=IRR(values, [guess])Quick Answer
IRR function IRR function is a financial function in Excel and Google Sheets that calculates the internal rate of return for a series of periodic cash flows. It returns a percentage representing the discount rate at which the net present value (NPV) of all cash flows equals zero.
Real-World Examples
Basic Real Estate Investment
Calculate return on a rental property investment with annual cash flows
Business Equipment Purchase
Evaluate profitability of new equipment generating cost savings
Startup Investment with Multiple Funding Rounds
Calculate returns for venture capital investment with staged funding
Project with Remediation Costs
Calculate IRR when project requires end-of-life cleanup expenses
Using Guess Parameter for Convergence
Handle complex cash flows that require a starting guess
Comparing Two Investment Options
Use IRR to compare different investment opportunities
Monthly Cash Flow Analysis
Calculate IRR for monthly subscription business revenue
Common Errors and Solutions
IRR cannot find a result after 20 iterations
The IRR function uses iterative calculations and cannot converge to a result within the default 20 attempts. This typically happens when: (1) cash flows have multiple sign changes creating multiple possible IRR values, (2) the guess value is too far from the actual IRR, (3) cash flows are extremely volatile or unusual patterns, or (4) the actual IRR is very large (>1000%) or very small (<-100%).
1. Provide a guess value closer to the expected return: `=IRR(values, 0.15)` instead of `=IRR(values)` 2. Try different guess values (0.05, 0.2, 0.3) to see if any converge 3. Check your cash flow data for errors or unusual patterns 4. Verify cash flows have at least one positive and one negative value 5. If cash flows have multiple sign changes, consider using MIRR instead 6. Increase iteration limit: File → Options → Formulas → Maximum Iterations
Always review your cash flow series before calculating IRR. For complex projects with multiple funding rounds or unusual patterns, start with a reasonable guess value (10-20% for typical investments). Document your guess value assumption for transparency.
Example:
IRR encounters non-numeric data in the values range
The values range contains text, blank cells (not zeros), error values, or other non-numeric data. Excel cannot perform calculations on non-numeric values. Common causes include: (1) formatting issues where numbers are stored as text, (2) imported data with text placeholders like 'N/A' or '-', (3) formulas in the range returning errors, (4) accidentally including header rows with text labels in your range.
1. Check your values range for any text or blank cells 2. Convert text-formatted numbers: Select range → Data → Text to Columns → Finish 3. Replace blank cells with zeros if they represent periods with no cash flow 4. Use ISNUMBER() to identify which cells contain non-numeric data 5. Ensure your range doesn't include header rows with labels 6. Check for hidden characters or spaces in cells that appear numeric
Always validate your cash flow data before using IRR. Use conditional formatting to highlight non-numeric cells. Create a helper column with `=ISNUMBER(A2)` to verify all values are numeric. Keep headers separate from your data range.
Example:
All cash flows are zero or empty
Your values range contains only zeros or empty cells, making it impossible to calculate a rate of return. This happens when: (1) formulas in the range evaluate to zero due to empty source data, (2) the range reference is incorrect and points to empty cells, (3) you're referencing a range that hasn't been populated yet, or (4) all your actual values are in a different location than your formula references.
1. Verify your range reference is correct: `=IRR(B2:B12)` should point to cells with actual cash flow values 2. Check that formulas feeding your values range are working correctly 3. Ensure your data has been entered or imported successfully 4. Expand your formula view (Ctrl+`) to see if source formulas are evaluating properly 5. Look for absolute vs relative reference issues if you've copied the formula
Before entering IRR formula, visually confirm your cash flow range contains actual numeric values. Use data validation to require non-zero entries in critical cells. Add error checking: `=IF(COUNT(B2:B12)=0, "No data", IRR(B2:B12))`
Example:
IRR returns a value but it doesn't match expected returns
The most common cause of incorrect IRR results is data entry issues: (1) wrong sign on cash flows (investment entered as positive instead of negative), (2) cash flows in wrong chronological order, (3) missing cash flow periods (gaps in the series), (4) duplicate periods included by mistake, (5) mixing different time periods (some monthly, some annual), or (6) forgetting to include initial investment or final sale/salvage value.
1. Verify initial investment is negative: should be -100000, not 100000 2. Check that all return values are correctly signed (usually positive) 3. Confirm cash flows are in strict chronological order (period 0, 1, 2, etc.) 4. Use zeros for periods with no cash flow rather than omitting them 5. Ensure consistent time intervals (all annual, all monthly, etc.) 6. Validate using NPV: at the calculated IRR, NPV should equal zero 7. Cross-check with alternative calculation method or financial calculator
Create a cash flow template with clear labels: 'Initial Investment (negative)', 'Year 1 Return', etc. Use conditional formatting to highlight negative values in green and positive in blue. Always validate IRR by checking if `=NPV(IRR_result, returns_only) + initial_investment` equals approximately zero.
Example:
Cash flows have multiple sign changes resulting in multiple valid IRR solutions
When your cash flow series has more than one sign change (negative to positive or positive to negative), mathematically there can be multiple IRR values that satisfy the NPV=0 equation. This is called the 'multiple IRR problem'. Example: [-100, +300, -220] has two IRRs. The IRR function will return one value, but it may not be the most meaningful one. This commonly occurs in projects with: (1) major remediation or decommissioning costs at the end, (2) large refinancing or restructuring events mid-project, (3) temporary negative cash flows during expansion phases.
1. Use MIRR instead of IRR for more reliable results with complex cash flows: `=MIRR(values, finance_rate, reinvest_rate)` 2. Plot NPV vs different discount rates to visualize multiple IRR points 3. Consider Modified IRR (MIRR) which assumes reinvestment at a specific rate 4. Restructure your analysis to focus on distinct project phases separately 5. Use NPV with a target discount rate instead of IRR 6. Consult financial advisor for complex scenarios
Before using IRR, count sign changes in your cash flow series. If more than one sign change exists, strongly consider using MIRR or NPV analysis instead. For projects with known end-of-life costs, clearly separate operating returns from final obligations in your analysis.
Example:
Best Practices and Advanced Tips
Always Use IRR with NPV for Complete Analysis
IRR and NPV are complementary metrics that answer different questions. IRR tells you the rate of return (efficiency), while NPV tells you the absolute dollar value created (scale). A project might have a high IRR but low NPV (small efficient project) or low IRR but high NPV (large project). Always analyze both: `=IRR(B2:B12)` for rate and `=NPV(0.10, B3:B12) + B2` for value. Accept projects with IRR > hurdle rate AND NPV > 0.
Understanding IRR Assumptions and Limitations
IRR assumes all cash flows are reinvested at the calculated IRR rate, which is often unrealistic. For example, if IRR = 25%, it assumes you can reinvest all proceeds at 25%. This assumption makes IRR less reliable for: (1) comparing projects of different sizes, (2) comparing projects of different durations, (3) projects with highly unusual IRR (very high or low). Consider using MIRR which allows you to specify realistic reinvestment rates: `=MIRR(values, finance_rate, reinvestment_rate)`.
Common IRR Pitfall: Ignoring Cash Flow Timing
Remember that IRR is highly sensitive to timing. Receiving $100k in year 1 vs year 5 dramatically impacts IRR. Always ensure your cash flows are in correct chronological order and represent consistent time periods. Use separate columns for period labels and values. Never reorder cash flows to 'improve' IRR - this invalidates the entire analysis.
Handling Irregular Cash Flows: Use XIRR Instead
If your cash flows don't occur at regular intervals (monthly, quarterly, annually), use XIRR instead of IRR. XIRR requires dates for each cash flow and provides more accurate results: `=XIRR(values, dates, [guess])`. Example: if you invest Jan 1, receive return Apr 15, and another return Oct 3, XIRR accounts for exact day counts. Standard IRR would assume equal intervals.
Sensitivity Analysis for IRR
Always perform sensitivity analysis on your IRR calculations by varying key assumptions. Create scenarios for optimistic, base, and pessimistic cases. Use Excel's Data Table feature to show IRR across multiple variables: (1) varying revenue assumptions, (2) changing cost estimates, (3) different timing scenarios. This helps stakeholders understand the range of possible outcomes rather than a single point estimate.
Document Your Assumptions
Always document key assumptions in your IRR analysis: (1) time period basis (annual, monthly, etc.), (2) what's included in cash flows (taxes, financing costs, etc.), (3) any guess value used, (4) terminal value assumptions, (5) exclusions or adjustments made. This transparency is crucial for audit trails and stakeholder communication. Create a dedicated 'Assumptions' section in your worksheet.
Comparing Projects: IRR Can Mislead
When comparing mutually exclusive projects, choosing based solely on highest IRR can lead to wrong decisions. A $10k project with 30% IRR creates less absolute value than a $1M project with 15% IRR. For capital budgeting decisions with mutually exclusive options, use NPV as the primary decision criterion and IRR as a supporting metric. The Incremental IRR approach can help: calculate IRR of the difference between two projects' cash flows.
Need Help with IRR Function in Excel?
Stop struggling with formula syntax. Use AskFormulas to generate validated formulas instantly with our AI-powered tool.
Example Excel formula:
Related Formulas
The FV function calculates future value of investments with constant payments and interest rate. Master retirement planning and savings goals with examples.
The NPV function calculates net present value of investments. Learn NPV with examples, common errors, and financial analysis tips.
The PMT function calculates periodic payments for loans with constant payments and interest rate. Master loan calculations with examples.
The PV function calculates the present value of an investment or loan with constant periodic payments and a constant interest rate. Master PV with examples,...