IMPORTRANGE doesn’t work after I moved the file to Excel
IMPORTRANGE was pulling live rows from another Google Sheet into this one. In Excel that link is just gone — either an error, or numbers that look fine and will never change again.
What’s actually breaking
IMPORTRANGE(spreadsheet_url, range) is a live formula reference into a completely different spreadsheet — it recalculates and re-pulls every time the source Sheet changes. Excel has no function that reaches across into another Google Sheet by URL like that. It’s not that Excel’s version is weaker or needs a flag turned on — there isn’t one, because the two products don’t share a data layer.
That makes IMPORTRANGE the worst case in this whole family for silently going stale. Most Sheets-only functions leave some trace behind on export — a dead formula string, a #NAME?, Google’s own __xludf.DUMMYFUNCTION wrapper (see that page for what the wrapper looks like when it does survive). But because IMPORTRANGE exists purely to bring in values, an export very often just freezes those values as plain numbers or text with nothing marking them as imported at all. They look exactly like something a person typed in by hand — and they’ll sit there, unchanged, forever.
How xlsx-for-ai handles it
xfa (the reader I use for this) catches an IMPORTRANGE the same way it catches any Sheets-only function: when the formula itself, a cached error, or the __xludf.DUMMYFUNCTION wrapper is still present in the file, it flags the cell as a dead IMPORTRANGE rather than letting you mistake it for a real value.
What it does not catch: values already frozen to plain numbers with no formula or wrapper left — and because IMPORTRANGE cells convert to exactly that shape so easily, this is the function on this whole site where that blind spot bites hardest. If a converted number came from an IMPORTRANGE cell and it actually matters, don’t trust a lack of a flag as proof it’s current — check it against the live source.
How to check your file
- Add the connector to Claude once — open Settings → Connectors → Add custom connector and paste
https://api.xlsx-for-ai.dev/mcp/claude. Full steps are on the developers page. - Read the live Sheet by id. In Claude, ask:
Reading a live Sheet is read-only and uses a read-only Google token you supply — see the developers page for the one-time setup.Read this Google Sheet and convert it to an .xlsx, with xfa. Flag anything that won't survive the conversion: https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/edit - Or skip the token — in Google Sheets choose File → Download → Microsoft Excel (.xlsx), then ask Claude to “read this file with xfa and tell me what it flagged.” Same reader, same flags.
- Read the flags. The result tells you exactly what it did and what it couldn’t carry across — so you review a short list instead of hunting for a wrong number later.
IMPORTRANGE’s equivalent isn’t a formula, it’s Data → Get Data (Power Query) pointed at the source file or a published-to-web CSV, with a refresh schedule. Different mechanism, same job — numbers that update instead of freezing at export.More Google Sheets ↔ Excel problems
- ARRAYFORMULA stopped working in Excel
- A spilled range (FILTER, SORT, UNIQUE) broke in Excel
- Google-Sheets-only functions break in Excel
- __xludf.DUMMYFUNCTION / #NAME? after downloading a Google Sheet
- QUERY function not working in Excel
- IMPORTRANGE not working in Excel
- GOOGLEFINANCE not working in Excel
- A named function shows an error in Excel
- Numbers or dates look different after converting
- Notes and comments when converting to Excel
- Huge empty rows or columns in a Sheets export
- CSV columns are wrong (semicolons instead of commas)