Google Sheets → Excel

ARRAYFORMULA stopped working when I opened my Sheet in Excel

You wrapped a formula in ARRAYFORMULA so it filled a whole column at once. In Excel that column is now empty, showing #NAME?, or — worse — a single value where a whole range used to be.

What’s actually breaking

ARRAYFORMULA is a Google-Sheets-only function. It tells Sheets to run an ordinary formula across an entire range and spill the results down. Excel has no function by that name. Modern Excel does have its own spilling behaviour, but it is triggered by the formula itself, not by a wrapper — so there is nothing for ARRAYFORMULA(...) to map onto.

When a file carrying ARRAYFORMULA is opened in Excel, one of a few things happens: Excel doesn’t recognise the name and shows #NAME?; the wrapper is stripped and only the first cell computes, so a column of results collapses to one value; or the exported file froze the last computed values and the live behaviour is simply gone. The dangerous case is the middle one — a column that looks populated but is quietly wrong.

How xlsx-for-ai handles it

xlsx-for-ai reads your Google Sheet with its own engine rather than handing the formula to Excel and hoping. When it meets ARRAYFORMULA, it detects that the function has no faithful Excel equivalent and declines to guess a result, telling you the cell and the reason instead of emitting a number that might be wrong.

That is the honest trade we make here: a visible, explained non-answer beats a silently wrong one. You get a short, specific list — “this range depended on ARRAYFORMULA, which doesn’t convert” — so you can decide how to rebuild it, rather than shipping a spreadsheet whose totals are off by a column.

To be clear about what this is not: we do not silently reconstruct the array or recompute what the formula would have produced. We flag it. Rewriting it for Excel is your call — usually by replacing the wrapper with Excel’s own spill (for example a plain range formula, or FILTER/SEQUENCE where appropriate).

How to check your file

  1. 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.
  2. Read the live Sheet by id. In Claude, ask:
    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
    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.
  3. 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.
  4. 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.
Rule of thumb: if xfa flags an ARRAYFORMULA range, rebuild it with a native Excel formula in that top cell and let Excel spill it — don’t copy the values down by hand, or they’ll go stale.

More Google Sheets ↔ Excel problems

← All Google Sheets ↔ Excel guides