Fix "Circular dependency detected" Error in Google Sheets

beginner๐Ÿ“— Google Sheets2026-03-23| Google Sheets (web browser, any OS) โ€” Google Workspace / personal Google account

Error Message

Circular dependency detected. To resolve with iterative calculation, see File > Settings.
#google-sheets#circular-dependency#formula#iteration

What's happening

You edited a formula, and Google Sheets immediately flagged it with:

Circular dependency detected. To resolve with iterative calculation, see File > Settings.

That error means one of your formulas is pointing back at itself โ€” directly, or through a chain of other cells. Take =A1+1 sitting inside A1 as the simplest example. Or picture a longer chain: A1 references B1, and B1 references A1. Either way, Sheets can't resolve the value without looping forever.

Google Sheets blocks these by default โ€” most of the time it's just a typo in a range. Running totals and loan calculators are the classic exceptions: they need iterative calculation, where Sheets re-runs the formula a fixed number of times rather than spinning indefinitely.

Step 1 โ€” Find the circular reference

Before touching any settings, figure out whether the loop is intentional or a formula mistake. Jumping straight to iterative calculation is a common way to bury a real bug.

Click the problem cell and trace its references in the formula bar. On a complex sheet, follow the chain manually:

  • Click the cell showing the error.
  • Read the formula in the formula bar.
  • Open each referenced cell and check what it references.
  • Keep going โ€” you'll hit the loop within a few hops.

Two patterns show up constantly:

-- Formula cell falls inside its own range
A1: =SUM(A1:A10)   โ† A1 is part of A1:A10

-- Two cells pointing at each other
B2: =C2 * 1.1
C2: =B2 - 5        โ† B2 โ†’ C2 โ†’ B2

Caught the culprit? Fix the range or reference directly โ€” no settings change needed.

Step 2 โ€” Fix accidental circular references

Nine times out of ten, the loop is just a range that's one row too wide. Here are the patterns to watch for:

Range includes the formula cell itself

-- Problem: A11 is inside the range it's summing
A11: =SUM(A1:A11)

-- Fix: stop the range one row above
A11: =SUM(A1:A10)

Indirect loop through multiple cells

-- Problem
D2: =E2 + F2
F2: =D2 * 0.9      โ† loops back to D2

-- Fix: replace the looping reference with a constant input cell
F2: =InputValue * 0.9   โ† InputValue holds a plain number, not a formula

INDIRECT or named range pointing back at itself

Using INDIRECT()? Double-check the string you're constructing. Under certain row or column conditions, it can quietly resolve to the cell it's sitting in.

Step 3 โ€” Enable iterative calculation (when intentional)

Occasionally the circular reference is deliberate. Compound interest formulas, running totals that fold into themselves, loan amortization models โ€” these genuinely need to read their own previous result. That's what iterative calculation is for.

  • Go to File โ†’ Settings (or File โ†’ Spreadsheet settings).
  • Click the Calculation tab.
  • Check Enable iterative calculation.
  • Set Max iterations โ€” the default of 50 works for most use cases.
  • Set Threshold โ€” how small a change counts as "converged" (default 0.05). Lower values give more precision.
  • Click Save settings.

Once enabled, Sheets keeps recalculating up to Max iterations times โ€” or stops early once the result shifts by less than the Threshold, whichever comes first.

One catch: this setting applies to the entire spreadsheet, not just one formula. Turn it on only when you know exactly which formula needs it โ€” and why.

Step 4 โ€” Structure iterative formulas safely

Iterative formulas can spiral if you're not careful. Every sheet load or unrelated edit can trigger another accumulation. A simple guard cell prevents this:

-- Running total that accumulates only on demand
-- A1 (trigger cell): set to TRUE when you want to add, FALSE otherwise
-- B1 (accumulator):
=IF(A1=TRUE, B1 + C1, B1)

-- Only adds C1 to B1 when A1 is TRUE
-- Flip A1 back to FALSE after each accumulation

Using a dedicated trigger cell means the formula fires only when you want it to. No phantom additions every time someone clicks the sheet or an unrelated cell recalculates.

Verification

Run a quick sanity check before calling it done:

  • The cell should show a number, not the error banner.
  • Click the cell โ€” the formula bar should display your formula cleanly, no warning indicator.
  • Edit an unrelated cell to trigger recalculation. The fixed cell should update correctly without the error coming back.
  • If iterative calculation is on, watch that the result stabilizes โ€” it shouldn't keep shifting on each F5 or sheet interaction.

Lessons learned

  • SUM ranges are the #1 culprit. Always verify your SUM or AVERAGE range stops before the row the formula lives in.
  • Iterative calculation is not a band-aid. Turning it on without understanding the loop often buries a real logic error that bites you later.
  • The setting is per-spreadsheet, not per-session. Everyone who opens the file shares it โ€” including collaborators who don't know it's on.
  • In shared sheets, leave a comment or a dedicated notes cell explaining that iterative calculation is intentionally enabled. Your future teammates will thank you.

Related Error Notes