How to Fix ‘#REF!’ (Unresolved Reference) Error in Google Sheets

Working on a financial model, project tracker, or dataset in Google Sheets only for a cell to suddenly display #REF! indicates that a formula refers to a cell, sheet, or external range that is either invalid, deleted, out of bounds, or blocked by circular calculation limits. Hovering over the error prompt provides specific diagnostic contexts such as “Reference does not exist”, “Circular dependency detected”, or “Array result was not expanded because it would overwrite data”.

Because spreadsheet formulas depend on structured coordinate geometries, actions such as cutting and pasting source cells, deleting referenced rows, importing data without granted permissions, or introducing mutual dependencies trigger this error.

#REF! Variation Technical Cause Corrective Action
Reference does not exist Referenced column, row, or tab was deleted or cut Restore row from revision history or update range address
Circular dependency detected Formula calculates based on its own cell coordinate Eliminate loop or enable iterative calculations
Array result was not expanded Dynamic formula (FILTER, ARRAYFORMULA, QUERY) is blocked by content below Clear blocking cells within the destination spill area
IMPORTRANGE access blocked External spreadsheet has not granted cross-sheet read permission Click Allow Access button on the formula cell

Method 1: Identify the Specific Error Sub-Type

Google Sheets displays contextual diagnostics that explain why the reference failed. Inspecting this detail narrows down the troubleshooting path immediately.

  1. Open the Google Sheets workbook.
  2. Hover your mouse cursor directly over the cell displaying #REF!.
  3. A red-accented tooltip pop-up will appear.
  4. Read the exact message:
    • “Reference does not exist” (indicates deleted cells or missing sheets).
    • “Circular dependency detected” (indicates self-referential calculations).
    • “Array result was not expanded because it would overwrite data in [Cell]” (indicates collision).
    • “You need to connect these sheets” (indicates cross-workbook authentication required).

Method 2: Resolve “Reference Does Not Exist” (Deleted Rows or Sheets)

If you deleted a column or sheet that was an argument in a formula like =SUM(B2:B10) or =VLOOKUP(A2, Data!A:C, 2, FALSE), Sheets cannot resolve the missing coordinates.

  1. Select the cell containing the #REF! error.
  2. Press Ctrl + Z (or Cmd + Z on macOS) immediately if the row or column was deleted recently.
  3. If the deletion occurred earlier, check the formula bar. Replace broken references such as #REF! with the active column letter or sheet name:
    =VLOOKUP(A2, 'ActiveData'!A:C, 2, FALSE)
  4. If the original tab was renamed, ensure single quotation marks enclose the new tab name if it contains spaces or symbols (e.g. ='Quarter 1'!A1).
  5. To restore a previously deleted tab, navigate to File > Version history > See version history and restore an earlier snapshot.

Method 3: Clear Spill Blockers for Dynamic Array Formulas

When using functions that return multi-cell results (such as ARRAYFORMULA, FILTER, SORT, or UNIQUE), any pre-existing text, numbers, or spaces in the destination path will block the spill and throw a #REF! error.

  1. Hover over the #REF! cell to identify the blocking cell address (e.g. “it would overwrite data in D5”).
  2. Click on cell D5 (or the coordinate named in the pop-up).
  3. Press Delete on your keyboard to clear the obstructing cell.
  4. If a whole range of data is in the way, highlight the entire projected spill column/rows beneath the formula and press Delete.
  5. The dynamic formula will instantly expand and populate the rows.

Method 4: Fix Circular Dependencies

A circular dependency occurs when a formula includes its own cell coordinate in its calculation—for example, placing =SUM(A1:A5) directly inside cell A5.

  1. Select the #REF! formula and examine the input coordinates.
  2. Adjust the range so it terminates before the formula cell (e.g. change =SUM(A1:A5) in cell A5 to =SUM(A1:A4)).
  3. If your mathematical model intentionally requires recursive or iterative recalculations (such as interest compounding or engineering simulations), enable iterative calculation:
    • Click File > Settings.
    • Switch to the Calculation tab.
    • Under Iterative calculation, toggle the dropdown from Off to On.
    • Set the Maximum number of iterations (default: 50) and Threshold (default: 0.05).
    • Click Save settings.

Method 5: Authorise Cross-Sheet Permissions in IMPORTRANGE

When pulling data from another Google Sheets document using IMPORTRANGE, Google requires explicit account authorization to bridge access between distinct files.

  1. Click on the cell housing the =IMPORTRANGE("URL", "Sheet1!A1:B10") formula.
  2. Hover over the cell until the prompt appears displaying: “You need to connect these sheets.”
  3. Click the blue Allow access button.
  4. Wait 2 to 3 seconds while Google Sheets validates your OAuth token and streams the data array.
  5. Note: If the button does not appear, ensure that your Google Account possesses at least “Viewer” permissions on the target source spreadsheet.

Auditing Complex Formulas to Prevent Broken References

When restructuring worksheets, cut-and-paste actions (Ctrl + X) dynamically update referenced targets, whereas copy-and-paste (Ctrl + C) does not alter source addresses. To permanently safeguard critical summary cells against column deletions, utilize the INDEX or INDIRECT functions to reference ranges by string coordinates rather than direct cell addresses.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.