Skip to content

Excel & Google Sheets error codes

Every error either product can show, what actually causes it, and the quickest fix. Excel and Google Sheets do not produce the same set — three codes are Excel-only and one is Sheets-only, which is noted on each row.

CodeApplies toWhat it meansQuickest fix
#REF!BothA #REF! error means a formula is referring to a cell or range that no longer exists. The reference broke — usually because the cells it pointed to were deleted or moved out from under it.Click the cell showing #REF! and read the formula — the broken part appears literally as #REF! inside it. Full guide →
#DIV/0!BothA #DIV/0! error means a formula is trying to divide by zero — or by a cell that is empty, which the spreadsheet treats as zero. Division by zero has no answer, so the cell shows the error instead.Identify the divisor — the value to the right of the / sign or the second argument of a ratio. Full guide →
#N/ABoth#N/A means "not available" — a lookup function searched for a value and found nothing that matched. It is the single most common error with VLOOKUP, XLOOKUP, and MATCH.Confirm the value you are searching for actually exists in the first column of the lookup range. Full guide →
#VALUE!Both#VALUE! means a formula got the wrong kind of input — most often text where it expected a number. Spreadsheets cannot add a word to a number, so they flag the cell.Look for any cell in the formula that holds text instead of a number — a stray label, unit, or space. Full guide →
#NAME?Both#NAME? means the spreadsheet does not recognize a name in the formula. It usually points at a misspelled function, a named range that does not exist, or text that is missing its quotation marks.Re-read the function name carefully for a typo; the formula editor autocompletes valid names as you type. Full guide →
#NUM!Both#NUM! means a formula tried to produce a number that is invalid or impossible to represent — like the square root of a negative number, or a value too large for the spreadsheet to hold.Check the inputs to any math function for impossible values, such as negatives passed to SQRT or LOG. Full guide →
#NULL!Excel only#NULL! is an Excel-specific error caused by the intersection operator — a space between two references. It appears when you ask for the overlap of two ranges that do not actually intersect.Look for an accidental space between cell references inside the formula. Full guide →
#SPILL!Excel only#SPILL! is a modern Excel error. A dynamic-array formula (like UNIQUE, FILTER, or SORT) needs to "spill" its results into the cells below or beside it, but something is in the way, so it cannot.Click the formula cell — Excel highlights the spill range with a dashed border so you can see what is blocked. Full guide →
CircularBothA circular reference happens when a formula depends on its own result — either directly (a cell refers to itself) or through a loop of cells that point back to the start. The spreadsheet cannot settle on an answer.In Excel, check Formulas → Error Checking → Circular References to jump straight to the offending cell. Full guide →
#N/ABothVLOOKUP returns #N/A when it cannot find the lookup value in the first column of your table range. The error means 'not available' — the match genuinely does not exist, or something is preventing the match from being recognised (a formatting difference, a hidden space, a number stored as text). No data is returned because no row was selected.Verify the value exists: filter or Ctrl+F the lookup column for the exact lookup value. Check for typos. Full guide →
#N/ABothXLOOKUP returns #N/A when the lookup value is not found in the lookup array and no if_not_found argument was provided. Unlike VLOOKUP, XLOOKUP supports a built-in not-found value, but if that argument is omitted and the match fails, the error propagates to the cell.Use XLOOKUP's built-in not-found argument to confirm whether the issue is a genuine miss: =XLOOKUP(A2,D:D,E:E,"NOT FOUND"). If you see NOT FOUND, the value is truly absent — investigate source data. Full guide →
#SPILL!Excel only#SPILL! is an Excel-specific error that appears when a formula tries to output multiple values (a spill range) but one or more of the destination cells are not empty or are otherwise blocked. XLOOKUP returns #SPILL! when it is asked to return multiple columns or rows and the cells below or beside it are occupied.Click the XLOOKUP cell and look for the blue dashed border showing the intended spill range. Find and clear any blocking cell — even a space counts. Use Go To Special > Constants to locate invisible content. Full guide →
#N/ABothINDEX MATCH returns #N/A when the MATCH part cannot find the lookup value in the match_array. MATCH returns #N/A, and INDEX then propagates that error to the cell. The lookup value either does not exist, does not match due to a type or spacing difference, or the arguments point to the wrong range.Always use 0 as the third argument to MATCH for exact lookups: =MATCH(A2,$D$2:$D$100,0). Omitting it defaults to 1 (approximate match with sorted assumption). Full guide →
#####Excel onlyExcel fills a cell with hash marks (####) when the column is too narrow to display the formatted value — most commonly a date, currency, or large number. No data is lost; the value is intact. Widening the column or reducing the number format makes the value visible again.Double-click the column border in the column header to auto-fit the column to the widest value. Alternatively, right-click the column header > Column Width > type a larger number. Full guide →
#CALC!Excel only#CALC! is an Excel-specific error returned by dynamic array functions when the calculation cannot complete — most commonly because the function is asked to return an empty array (no results), or because it encounters a logical impossibility such as intersecting empty sets. It signals a calculation boundary, not a syntax error.Wrap FILTER with an if_empty argument to return a fallback value when no rows match: =FILTER(A2:B100,A2:A100="Done","No results"). Full guide →
#GETTING_DATAExcel only#GETTING_DATA is a transient Excel status message, not a permanent error. It appears when a cell depends on data from an external source — Power Query, a data connection, a web query, or a linked workbook — that has not finished loading. The cell recalculates to a real value or error once the data arrives.Wait for the refresh to complete. The status bar at the bottom of Excel shows query progress. Full guide →
#FIELD!Excel only#FIELD! appears in Excel when you try to extract a field from a Linked Data Type — such as Stocks or Geography — and the field name does not exist for that record, the data type failed to resolve, or the cell has not been converted to a Linked Data Type yet. It is Excel-specific and does not appear in Google Sheets.Click the cell showing #FIELD! and look for the linked data type icon (small icon in the cell corner). If absent, re-select the cell and click Data > Stocks or Data > Geography to convert it. Full guide →
#BLOCKED!Excel only#BLOCKED! appears in Excel when a Linked Data Type field or an external data request is blocked — usually because the workbook's privacy level prevents it from sending data externally, or because an administrator policy restricts the feature. It is a permission error, not a formula syntax error.Go to File > Options > Trust Center > Trust Center Settings > Privacy Options and review the 'Enable connected experiences' setting. Full guide →
#SPILL!Excel only#SPILL! occurs in Excel when a dynamic array formula cannot write its results into the spill range because one or more cells in that range are occupied — in this specific variant, because those cells are merged. Excel cannot write individual values into sub-cells of a merged group, so the spill is blocked entirely.Select the spill range (click the formula cell, then Ctrl+Shift+End to extend to the expected output size), then Home > Merge & Center > Unmerge Cells. Full guide →
#REF!BothWhen IMPORTRANGE is used for the first time between two Google Sheets files, Sheets requires explicit permission before it will read data from the source spreadsheet. Until that permission is granted, every cell using that IMPORTRANGE returns #REF! with the message 'You need to connect these sheets'. This is a one-time authorization step per source spreadsheet URL.Click the cell showing #REF!. If authorization is pending, a 'Allow access' button appears in the tooltip. Click it. Full guide →
#ERROR!Sheets onlyGoogle Sheets could not parse the formula at all — it is a syntax error, not a calculation error.Retype the formula by hand rather than pasting it. Check that every "(" has a ")" and replace any curly quotes (“ ”) with straight quotes (").
#CALC!Excel onlyThe calculation engine reached something it cannot represent — most often an empty array.Give FILTER an if_empty argument: =FILTER(A:A, B:B="x", "No matches"). That replaces the empty result with text you control.
#GETTING_DATAExcel onlyNot an error — a temporary status shown while an external or slow data source is still calculating.Wait for the refresh to finish. If it never clears, the external connection has failed — check the source in Data → Queries & Connections.
#N/A (deliberate)BothReturned intentionally by NA() to mark a cell as "value not available" — useful because charts skip #N/A rather than plotting it as zero.Nothing to fix. If you want it blank instead, wrap with IFNA: =IFNA(yourFormula, "").

Causes in detail

#REF!REF

A #REF! error means a formula is referring to a cell or range that no longer exists. The reference broke — usually because the cells it pointed to were deleted or moved out from under it.

Common causes

  • You deleted a row, column, or sheet that a formula referenced.
  • You cut and pasted cells over the range a formula depended on.
  • A VLOOKUP or INDEX uses a column number that is larger than the table is wide.
  • A reference points to a closed or deleted external workbook.

Example

=VLOOKUP(D2, A:B, 3, FALSE)

=VLOOKUP(D2, A:B, 2, FALSE)

The table A:B has only 2 columns, so column index 3 is out of range. Use 2.

Full guide to fixing #REF!

#DIV/0!DIV/0

A #DIV/0! error means a formula is trying to divide by zero — or by a cell that is empty, which the spreadsheet treats as zero. Division by zero has no answer, so the cell shows the error instead.

Common causes

  • The denominator cell is empty (blank counts as zero).
  • The denominator literally contains 0.
  • An AVERAGE over a range that contains no numbers.
  • A formula references cells that have not been filled in yet.

Example

=A2/B2

=IFERROR(A2/B2, "")

When B2 is empty or zero, the cell shows blank instead of #DIV/0!.

Full guide to fixing #DIV/0!

#N/AN/A

#N/A means "not available" — a lookup function searched for a value and found nothing that matched. It is the single most common error with VLOOKUP, XLOOKUP, and MATCH.

Common causes

  • The lookup value genuinely is not in the lookup column.
  • Hidden spaces or different text case make values look equal but not match.
  • Numbers stored as text do not match real numbers (or vice versa).
  • VLOOKUP is set to approximate match (TRUE) on unsorted data.
  • The lookup value and the lookup column are in different formats (e.g. 00123 vs 123).

Example

=VLOOKUP(D2, A:B, 2, TRUE)

=VLOOKUP(D2, A:B, 2, FALSE)

TRUE does an approximate match and misfires on unsorted data. FALSE forces an exact match.

Full guide to fixing #N/A

#VALUE!VALUE

#VALUE! means a formula got the wrong kind of input — most often text where it expected a number. Spreadsheets cannot add a word to a number, so they flag the cell.

Common causes

  • A cell in a calculation contains text (even a single space looks blank but is text).
  • Numbers are stored as text, so math operators reject them.
  • A date is stored as text rather than a real date value.
  • A function received a range where it expected a single cell, or vice versa.

Example

=A2+B2+C2

=SUM(A2:C2)

SUM ignores any text cell in the range, while the + operator errors on it.

Full guide to fixing #VALUE!

#NAME?NAME

#NAME? means the spreadsheet does not recognize a name in the formula. It usually points at a misspelled function, a named range that does not exist, or text that is missing its quotation marks.

Common causes

  • A function name is misspelled, e.g. =VLOKUP instead of =VLOOKUP.
  • Text in the formula is missing its surrounding quotation marks.
  • A named range is referenced that was never defined or was deleted.
  • A newer function (like XLOOKUP) is used in a version that does not support it.
  • In Google Sheets, an Excel-only function name was pasted in, or vice versa.

Example

=VLOKUP(D2, A:B, 2, FALSE)

=VLOOKUP(D2, A:B, 2, FALSE)

The function name was misspelled. #NAME? almost always points at a typo.

Full guide to fixing #NAME?

#NUM!NUM

#NUM! means a formula tried to produce a number that is invalid or impossible to represent — like the square root of a negative number, or a value too large for the spreadsheet to hold.

Common causes

  • A math function received an impossible argument, e.g. SQRT of a negative number.
  • An iterative function (like IRR or RATE) could not converge on an answer.
  • A calculation produced a number larger than the spreadsheet can store.
  • A function argument is outside its allowed range.

Example

=SQRT(A2)

=IF(A2>=0, SQRT(A2), "n/a")

SQRT errors on negative input. The IF guard returns a safe value instead.

Full guide to fixing #NUM!

#NULL!NULL

#NULL! is an Excel-specific error caused by the intersection operator — a space between two references. It appears when you ask for the overlap of two ranges that do not actually intersect.

Common causes

  • A space was typed between two ranges instead of a comma or colon, e.g. =SUM(A1:A5 C1:C5).
  • A range was meant to be a union (comma) or a continuous range (colon) but used a space.
  • Two ranges that genuinely do not overlap were combined with the intersection operator.

Example

=SUM(A1:A5 C1:C5)

=SUM(A1:A5, C1:C5)

The space asked for an intersection that does not exist. A comma adds both ranges.

Full guide to fixing #NULL!

#SPILL!SPILL

#SPILL! is a modern Excel error. A dynamic-array formula (like UNIQUE, FILTER, or SORT) needs to "spill" its results into the cells below or beside it, but something is in the way, so it cannot.

Common causes

  • A cell in the spill range already contains a value or another formula.
  • The spill range runs into the edge of the worksheet or a merged cell.
  • A previous spill or manual entry occupies part of the output area.
  • The formula sits inside an Excel Table, which does not allow spilling.

Example

=UNIQUE(A2:A100)

=UNIQUE(A2:A100)

The formula is correct — clear the occupied cells in the highlighted spill range below it.

Full guide to fixing #SPILL!

CircularCircular reference

A circular reference happens when a formula depends on its own result — either directly (a cell refers to itself) or through a loop of cells that point back to the start. The spreadsheet cannot settle on an answer.

Common causes

  • A formula includes its own cell in its range, e.g. =SUM(A1:A10) typed into A10.
  • A chain of cells references each other in a loop (A1 → B1 → A1).
  • A running total accidentally includes the cell it is written in.

Example

=SUM(A1:A10)

=SUM(A1:A9)

Typed into A10, the first version sums itself. Exclude the formula’s own cell from the range.

Full guide to fixing Circular

#N/AN/A in VLOOKUP

VLOOKUP returns #N/A when it cannot find the lookup value in the first column of your table range. The error means 'not available' — the match genuinely does not exist, or something is preventing the match from being recognised (a formatting difference, a hidden space, a number stored as text). No data is returned because no row was selected.

Common causes

  • The lookup value truly does not exist in the first column of the table range — a typo in the value or in the source data.
  • Extra leading or trailing spaces in one side of the comparison (e.g. 'Apple ' vs 'Apple') that are invisible but break exact matching.
  • A data-type mismatch: the lookup column contains numbers stored as text while the lookup value is a real number, or vice versa.
  • The table range is not anchored with absolute references ($A$2:$C$100) so it shifts when the formula is copied down, cutting off rows.
  • The search column is not the leftmost column in the specified range — VLOOKUP always searches column 1 of table_array.

Example

=VLOOKUP(A2,D2:F100,2,0)

=VLOOKUP(TRIM(A2),$D$2:$F$100,2,0)

TRIM removes hidden spaces from the lookup value, and the absolute range ($D$2:$F$100) prevents the table from shifting when the formula is copied.

Full guide to fixing #N/A

#N/AN/A in XLOOKUP

XLOOKUP returns #N/A when the lookup value is not found in the lookup array and no if_not_found argument was provided. Unlike VLOOKUP, XLOOKUP supports a built-in not-found value, but if that argument is omitted and the match fails, the error propagates to the cell.

Common causes

  • The lookup value genuinely does not exist in the lookup_array — a typo, a changed ID, or a filter hiding the row.
  • A data-type mismatch: the lookup_array contains text representations of numbers ('123') while lookup_value is a real number 123, or the reverse.
  • The lookup_array and return_array are different sizes — XLOOKUP requires them to be the same length (or same number of rows/columns depending on orientation).
  • The match_mode argument is set to 1 or -1 (approximate match) but the lookup_array is not sorted in the required order, causing XLOOKUP to stop at the wrong position.
  • Hidden or filtered rows contain the value but the formula references a different worksheet region or a named range that excludes those rows.

Example

=XLOOKUP(A2,D2:D100,E2:E100)

=XLOOKUP(TRIM(A2),D2:D100,E2:E100,"Not found",0)

Added TRIM to remove hidden spaces from the lookup value, specified exact match mode (0), and added a not-found string to distinguish genuine misses from bugs.

Full guide to fixing #N/A

#SPILL!XLOOKUP spill error

#SPILL! is an Excel-specific error that appears when a formula tries to output multiple values (a spill range) but one or more of the destination cells are not empty or are otherwise blocked. XLOOKUP returns #SPILL! when it is asked to return multiple columns or rows and the cells below or beside it are occupied.

Common causes

  • A cell in the spill range contains data, a space character, or even a formula result — Excel cannot overwrite it, so the entire formula errors.
  • The spill range overlaps a merged cell — merged cells block spilling entirely.
  • The XLOOKUP is inside an Excel Table (ListObject) and the return_array spans multiple columns, which tables do not support for spill.
  • Another spilled array formula already occupies part of the target spill range.
  • The return_array returns a dynamic number of rows (e.g. referencing a whole column) and Excel cannot determine the spill range size.

Example

=XLOOKUP(A2,$D$2:$D$100,$E$2:$G$100)

=XLOOKUP(A2,$D$2:$D$100,$E$2:$G$100,"Not found",0)

The fix here is environmental — clear the blocking cells in F2:G2 so the three-column return has room to spill. The formula itself is valid once the range is empty.

Full guide to fixing #SPILL!

#N/AN/A in INDEX MATCH

INDEX MATCH returns #N/A when the MATCH part cannot find the lookup value in the match_array. MATCH returns #N/A, and INDEX then propagates that error to the cell. The lookup value either does not exist, does not match due to a type or spacing difference, or the arguments point to the wrong range.

Common causes

  • The match_type argument in MATCH is 0 (exact) but there is a hidden trailing space or a type mismatch preventing recognition of an existing value.
  • The match_type is 1 or -1 (approximate) and the match_array is not sorted in the required order, so MATCH stops at the wrong position.
  • The match_array and the index_array are different lengths — MATCH returns a position number and INDEX uses it to look up a different array that ends earlier.
  • The lookup value is a number but the match_array contains text representations of numbers, or the reverse — they look the same but compare as unequal.
  • The wrong column or row was selected for the match_array — a common copy-paste error when reusing a formula.

Example

=INDEX($E$2:$E$100,MATCH(A2,$D$2:$D$100))

=INDEX($E$2:$E$100,MATCH(TRIM(A2),$D$2:$D$100,0))

Added the required match_type 0 (exact match) which was omitted, causing approximate-match behaviour on unsorted data. Also added TRIM to handle hidden spaces.

Full guide to fixing #N/A

#####Hash marks (#####) in a cell

Excel fills a cell with hash marks (####) when the column is too narrow to display the formatted value — most commonly a date, currency, or large number. No data is lost; the value is intact. Widening the column or reducing the number format makes the value visible again.

Common causes

  • The column width is smaller than the width required to display the formatted number or date, which is the most common cause.
  • A Date-formatted cell contains a negative date serial number (a date before January 1, 1900 in Excel), which Excel cannot display and shows as ####.
  • The zoom level is very low (e.g., 25%) and the column appears narrower than it actually is — zooming in may reveal the value.
  • A custom number format with many characters (e.g., full month name + year) requires more space than the column provides.
  • The column was manually narrowed, or columns were added to a template that collapsed existing column widths.

Example

=DATE(2024,1,15)

=TEXT(DATE(2024,1,15),"M/D/YY")

If the column is too narrow to show the full date format, wrapping in TEXT() with a compact format string produces a shorter string that fits. Widening the column and keeping the date format is usually preferable for downstream date math.

Full guide to fixing #####

#CALC!CALC error

#CALC! is an Excel-specific error returned by dynamic array functions when the calculation cannot complete — most commonly because the function is asked to return an empty array (no results), or because it encounters a logical impossibility such as intersecting empty sets. It signals a calculation boundary, not a syntax error.

Common causes

  • FILTER returns no matching rows because the logical condition matches nothing, producing an empty array which is not displayable.
  • UNIQUE is applied to a range that is entirely blank or contains only errors.
  • Nested dynamic array functions produce incompatible array shapes that cannot be reconciled during evaluation.
  • A LAMBDA or LET variable resolves to an empty result, which propagates as #CALC! through the outer function.
  • CHOOSECOLS or CHOOSEROWS is given a column/row index of 0 or an index beyond the array dimensions.

Example

=FILTER(A2:B50,A2:A50="Closed")

=FILTER(A2:B50,A2:A50="Closed","No closed items")

Added the third argument (if_empty) to FILTER so it returns a message instead of #CALC! when no rows match the condition.

Full guide to fixing #CALC!

#GETTING_DATAGETTING_DATA message

#GETTING_DATA is a transient Excel status message, not a permanent error. It appears when a cell depends on data from an external source — Power Query, a data connection, a web query, or a linked workbook — that has not finished loading. The cell recalculates to a real value or error once the data arrives.

Common causes

  • A Power Query query is still refreshing and the dependent cell is waiting for its output table to populate.
  • An external workbook linked with =[WorkbookName.xlsx]Sheet1!A1 is not yet open or its connection is slow.
  • A background refresh is running (enabled via Query Properties > Refresh every X minutes) and the cell updates mid-session.
  • The workbook was opened with automatic refresh enabled and a slow network or large dataset is delaying data arrival.
  • Excel is in a partially calculated state due to circular references or dependency chains that have not resolved yet.

Example

=SUM(Table1[Revenue])

=IF(ISBLANK(Table1[@Revenue]),0,SUM(Table1[Revenue]))

Added a guard so the formula returns 0 instead of waiting on an empty table cell while data is still loading; remove the guard once the connection is stable.

Full guide to fixing #GETTING_DATA

#FIELD!FIELD error

#FIELD! appears in Excel when you try to extract a field from a Linked Data Type — such as Stocks or Geography — and the field name does not exist for that record, the data type failed to resolve, or the cell has not been converted to a Linked Data Type yet. It is Excel-specific and does not appear in Google Sheets.

Common causes

  • The cell was not successfully converted to a Linked Data Type — it still holds plain text and the dot notation cannot extract a field.
  • The field name in the formula (e.g., .Price, .Population) is misspelled or does not exist for that specific record.
  • Microsoft's data service is temporarily unavailable, so field values cannot be fetched for any linked types in the workbook.
  • The linked record is ambiguous — Excel showed a disambiguation card and the user did not select a specific match.
  • The workbook is offline or the user account does not have a Microsoft 365 subscription that includes Linked Data Types.

Example

=A2.Pric

=A2.Price

Fixed the misspelled field name from 'Pric' to 'Price'. Field names must match exactly — use the Insert Field picker to avoid typos.

Full guide to fixing #FIELD!

#BLOCKED!BLOCKED error

#BLOCKED! appears in Excel when a Linked Data Type field or an external data request is blocked — usually because the workbook's privacy level prevents it from sending data externally, or because an administrator policy restricts the feature. It is a permission error, not a formula syntax error.

Common causes

  • The workbook's privacy level is set to 'Private' and Excel blocks external data calls to protect potentially sensitive cell content from being sent to Microsoft servers.
  • An IT or Microsoft 365 administrator policy has disabled Linked Data Types or external data for the organization.
  • The cell content that would be sent as the lookup query contains data classified as sensitive under the current privacy settings.
  • The user is not signed in to a Microsoft account with a qualifying Microsoft 365 subscription.
  • The workbook is saved in a format (e.g., .xls) that does not support Linked Data Types and the feature is therefore blocked.

Example

=A2.Price

=IFERROR(A2.Price,"Blocked — check privacy settings")

IFERROR surfaces a readable message while you resolve the underlying privacy or permission issue; remove it once #BLOCKED! is resolved.

Full guide to fixing #BLOCKED!

#SPILL!Spill blocked by merged cells

#SPILL! occurs in Excel when a dynamic array formula cannot write its results into the spill range because one or more cells in that range are occupied — in this specific variant, because those cells are merged. Excel cannot write individual values into sub-cells of a merged group, so the spill is blocked entirely.

Common causes

  • The output range contains merged cells from a previous formatting operation, and Excel cannot split values into merged sub-cells.
  • Headers or summary rows above the formula cell were merged for aesthetic reasons and now block the array from spilling down.
  • A merged cell exists anywhere in the spill range — even a merge two rows below the formula will block the entire spill.
  • The formula was moved adjacent to a merged table header without realizing the header merge extends into the formula's output zone.
  • A copy-paste of formatted content brought merged cells into the area where a dynamic array formula was already present.

Example

=UNIQUE(A2:A100)

=UNIQUE(A2:A100)

The formula itself is correct. Fix the spill by unmerging cells in the output range: select the spill range, then Home > Merge & Center > Unmerge Cells.

Full guide to fixing #SPILL!

#REF!IMPORTRANGE needs access

When IMPORTRANGE is used for the first time between two Google Sheets files, Sheets requires explicit permission before it will read data from the source spreadsheet. Until that permission is granted, every cell using that IMPORTRANGE returns #REF! with the message 'You need to connect these sheets'. This is a one-time authorization step per source spreadsheet URL.

Common causes

  • The IMPORTRANGE formula was just entered for the first time and the authorization dialog has not been dismissed yet.
  • The source spreadsheet was shared with a different Google account than the one currently viewing the destination sheet.
  • The source spreadsheet's sharing settings were changed (e.g., from Anyone with link to Restricted) after authorization was previously granted.
  • The formula uses an incorrect spreadsheet URL or spreadsheet ID, so Sheets cannot find the source to prompt for access.
  • The IMPORTRANGE was copied from another file that had authorization; the new file needs its own separate authorization.

Example

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/WRONG_ID","Sheet1!A1:D100")

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/CORRECT_ID","Sheet1!A1:D100")

Replaced the incorrect spreadsheet ID in the URL. After fixing the URL, click the cell and click 'Allow access' to complete authorization.

Full guide to fixing #REF!

Frequently asked

What is the most common Excel error?

#REF! and #VALUE! are the two most frequent. #REF! means a formula points at a cell that no longer exists, usually after deleting a row, column or sheet. #VALUE! means an argument is the wrong type — most often text where a number was expected.

Why does Google Sheets show #ERROR! when Excel does not?

#ERROR! is unique to Google Sheets and means the formula could not be parsed at all — a syntax problem rather than a calculation problem. Excel refuses to accept an unparseable formula at entry time instead, so it never produces an equivalent code.

Why does #SPILL! only appear in Excel?

#SPILL! is Excel-specific. When a dynamic-array formula needs to write multiple cells and something blocks the range, Excel writes nothing and shows #SPILL!. Google Sheets handles array expansion differently, so it either truncates the output or returns #REF!.

Should I just wrap everything in IFERROR?

No. IFERROR hides the symptom and keeps the broken logic, so a genuinely wrong result looks like a clean blank. Diagnose the cause first, fix it, and use IFERROR only for errors you expect and have decided how to handle — such as a lookup that legitimately finds nothing.

Can I find every broken formula in a spreadsheet at once?

Yes. Use Find & Replace to search for the specific error text, or upload the file to the FormulaCraft Auditor, which scans every formula in the workbook and lists each error with its cause.