#NUM! in RATE: Iteration limits exceeded

Excel returns a #NUM! error in the RATE function when its calculation algorithm fails to converge on a valid interest rate within 20 iterations. Because calculating the interest rate per period for a loan or annuity requires numerical solving rather than direct arithmetic, Excel uses an iterative trial-and-error method starting from a default guess of 10% (0.1). If cash flow arguments use incorrect sign conventions or if the actual rate lies far from 10%, the solver exceeds its maximum iteration limit and halts with a #NUM! error.

Fast-Fix: The 45-Second Solution

Excel throws a #NUM! error in =RATE(nper, pmt, pv, [fv], [type], [guess]) when its internal solver fails to balance cash flows within 20 iterations using the default 10% seed. To fix this, verify cash flow signs by making cash received (like pv) positive and cash paid (like pmt) negative. Additionally, ensure nper is greater than zero, or provide an explicit seed as the 6th argument, such as =RATE(nper, pmt, pv, fv, type, 0.01).

Quick Risk Snapshot

  • Severity Tier: Moderate to High (Breaks debt schedules, loan pricing tables, and yield calculations).
  • Is it safe to ignore?: No. Dependent formulas like annual percentage rates (APR), total interest costs, and debt coverage ratios will inherit #NUM! and fail.
  • Most common cause: Assigning the same numeric sign to both pv and pmt (e.g., treating both as positive numbers).
  • Rare/Serious cause: Negative amortization where periodic payments (pmt) are too small to cover accrued interest, causing the principal balance to grow rather than retire.

Low Risk vs. High Risk

  • If the error occurs in a standalone loan calculator or single-property model: It is Low Risk. Correcting the sign of pmt or adding an explicit guess parameter resolves the calculation immediately.
  • If the error occurs in corporate debt waterfalls, structured finance models, or dynamic yield sensitivity tables: It is High Risk. Unhandled sign errors or improper rate guesses can cause debt service formulas to fail across multiple tabs, skewing financial forecasts and breaking automated consolidation models.

The Mechanics of the Break

The RATE function calculates the interest rate per period (r) for an annuity or amortizing loan. Mathematically, it solves for r in the annuity present value equation:

pv(1+r)nper+pmt(1+r⋅type)r(1+r)nper−1+fv=0

Because r appears as both a base and an exponent, it cannot be isolated algebraically when nper>1. Excel uses the Newton-Raphson iterative algorithm to estimate r. It sets r=0.1 (10% per period) by default, evaluates the equation, calculates the rate of change, and adjusts r.

If after 20 iteration cycles the difference between successive estimates is greater than 0.0000001 (1×10−7), Excel aborts the process and outputs #NUM!.

Think of the RATE function solver as an automated governor valve on a steam engine trying to hold engine speed at a target RPM. If you start the governor with a default spring tension set for 1,000 RPM, but the engine is running at 10,000 RPM (or spinning backwards), the governor adjusts its valve 20 times. If it cannot stabilize engine speed within 20 turns, the safety shutoff trips and locks out the machine (#NUM!). Adding a guess manually adjusts the initial spring tension so the valve stabilizes within a few turns.

Formula ExampleInputs (nper, pmt, pv, fv, guess)Solver ActionOutputRoot Cause
=RATE(12, -100, 1000)nper=12, pmt=−100, pv=1000Converges in 4 steps2.92%Correct opposite signs
=RATE(12, 100, 1000)nper=12, pmt=100, pv=1000Fails after 20 cycles#NUM!Same sign (pv and pmt both positive)
=RATE(60, -15, 1000)nper=60, pmt=−15, pv=1000Exceeds 20 iterations#NUM!Payment too low to cover interest (negative amortization)
=RATE(12, -200, 1000, 0, 0, 0.15)nper=12, pmt=−200, pv=1000, guess=0.15Converges in 3 steps5.79%Explicit guess accelerates convergence

Probability Breakdown

  • Likely (60%): Cash flow direction conflict where pv (present value) and pmt (payment) share the same numeric sign.
  • Possible (30%): The actual interest rate per period lies far from the default 10% starting point (e.g., monthly interest rates that are typically around 0.5% to 1%).
  • Rare (10%): Invalid arguments such as nper≤0 or payment values too small to satisfy the future value target.

What Escalates the Risk

Dynamic financial models that accept user inputs or pull data from external feeds escalate this risk. If an input template allows users to enter positive numbers for loan payments, every downstream RATE calculation breaks instantly.

Furthermore, when RATE outputs are multiplied to determine Annual Percentage Rates (e.g., =RATE(...) * 12), a single #NUM! error in one row cascades into loan comparison summaries, debt service schedules, and corporate valuation models.

Consequence Timeline

  • 24 Hours: Debt schedules and loan quote sheets display #NUM! errors, blocking client proposals and underwriting reviews.
  • 1 Week: Secondary calculations like debt service coverage ratios (DSCR) and net present value schedules return errors as they inherit #NUM!.
  • 1 Month: Audit failures in corporate financial reporting due to unhandled rate convergence errors and broken debt models.

Common Confusion Fix

Distinguish #NUM! in RATE from other common formula breaks:

  • #NUM! in RATE vs. #NUM! in IRR: Both errors result from exceeding the 20-iteration solver limit. However, RATE calculates a constant periodic rate for fixed annuity payments (pmt), whereas IRR evaluates arrays of varying cash flows. See #NUM! in IRR: Why the formula needs a “Guess”.
  • #NUM! in RATE vs. #VALUE! in RATE: #NUM! indicates valid numeric arguments where the iterative algorithm failed to converge. #VALUE! indicates a data type mismatch, such as referencing a text cell for nper or pmt.
  • #NUM! in RATE vs. #NUM! in DATEDIF: RATE fails due to numerical solver limits. DATEDIF returns #NUM! when the start date is chronologically later than the end date. See #NUM! in DATEDIF: When Start Date is after End Date.

What To Do Right Now

1. Enforce Opposite Cash Flow Sign Conventions

Ensure that money received is entered as a positive number and money paid out is entered as a negative number:

  • Borrowing a loan: pv = 10000 (positive cash in), pmt = 300 (negative cash out).
  • Making an investment: pv = 10000 (negative cash out), pmt = 300 (positive cash in).

2. Supply a Monthly Rate Guess

Because default guesses start at 10% (0.1), monthly loan calculations often fail because actual monthly rates are much lower (e.g., 0.5%). Convert annual rate expectations to monthly guesses:

=RATE(nper, pmt, pv, fv, type, 0.05/12)

3. Verify Payment Adequacy

Ensure that the payment amount is sufficient to cover periodic interest. If pmt is less than the interest accrued each period, the loan balance grows infinitely and RATE will fail:

=IF(ABS(pmt * nper) < ABS(pv), "Invalid Payment", RATE(nper, pmt, pv))

4. Adjust Global Calculation Settings (If Necessary)

If your model requires higher iteration limits for complex financial solving, navigate to File > Options > Formulas and ensure Enable iterative calculation is checked. You can increase Maximum Iterations from 100 to 1000 to assist complex model convergence. See #NUM! in Mathematical Iterations: Fixing Excel’s Calculation Limits.

Hard-Stop Triggers

Stop entering data and inspect model logic if:

  • pv and pmt have identical mathematical signs across your debt input schedule.
  • nper evaluates to 0 or a negative number.
  • Total payments (pmt * nper) are smaller than the loan principal (pv), indicating an impossible loan paydown schedule.

Professional Audit Path

When auditing a financial workbook returning #NUM! in rate calculations:

  1. Check Sign Conventions: Add a diagnostic check column: =SIGN(pv) <> SIGN(pmt). Any FALSE result flags a cash flow sign error.
  2. Test Boundary Guesses: Incrementally adjust the guess argument from 0.001 to 0.5 to determine if the solver converges.
  3. Audit Annualization Factors: Ensure nper reflects total periods (e.g., years × 12 for monthly payments) and that guess matches the period frequency.

Complexity & Repair Range

  • Minor (Sign or Guess Patch): 2 minutes. Reversing the sign of pmt or pv, or adding an explicit guess argument.
  • Moderate (Model Logic Overhaul): 15–30 minutes. Adding input validation to loan payment templates to enforce correct cash flow direction.
  • Major (Debt Waterfall Architecture): 1–2 hours. Re-building dynamic debt service schedules and yield calculations in complex corporate finance models.

Symptom Escalators

If financial or iterative formulas continue to break across your workbook, reference these related troubleshooting guides:

Final Calculation

The #NUM! error in RATE occurs because Excel’s iterative solver fails to find a valid periodic interest rate within 20 iterations. The vast majority of failures stem from entering cash flows with identical signs or omitting a periodic guess parameter for low monthly interest rates. Enforcing strict cash flow sign conventions (positive inflows, negative outflows) and supplying a periodic guess ensures that RATE calculations converge reliably across all financial models.