Migration Assistant
Moved a workbook from Excel into Google Sheets — or the other way — and
half the cells now show #NAME? or #REF!? The import copies your data
and formatting fine; it’s the formulas that break. The Migration
Assistant scans the whole workbook, finds every formula that won’t run
in its new home, and rewrites the ones that have a clean translation —
in place, and only with your approval.
Open it from Migration Assistant in the add-on’s sidebar.
What does the scan do?
The scan reads every formula in the workbook, one pass per sheet, with live progress and a Cancel button. Don’t need the whole workbook? Click Choose sheets next to the scan button and tick just the tabs you care about — the button follows your selection (“Scan 2 of 5 sheets”), and when you come back to rescan, your selection is right where you left it.
For each formula the scan checks two things:
- Does it speak your spreadsheet’s dialect? A
TEXTSPLITimported into Google Sheets, or aPOWheaded for Excel, is valid syntax in the wrong language. - What is the cell showing right now? A formula can be perfectly
valid and still display
#REF!because the import severed whatever it pointed at.
Nothing in your spreadsheet is changed by scanning. Identical formulas are grouped, so a formula filled into 500 cells is one decision, not 500 rows.
What do the results mean?
The summary shows how much of the workbook is healthy, and everything else lands in one of four buckets. When findings span several sheets, a row of chips above the list lets you focus on one sheet at a time — it’s a view filter only, so fixing a group still fixes all of its cells, wherever they live.
The report stays put while you work: leave the panel to edit a formula or check another page, come back, and it’s still there with a “Scanned 5 min ago” note. If the report is older than a few minutes, a gentle reminder suggests rescanning in case the sheet changed underneath it.
Auto-fixable
The translator has a complete rewrite for these. Each group shows the formula as found and the fix side by side:
=TEXTSPLIT(A2, ",")becomes
=SPLIT(A2, ",", FALSE)Fix one group at a time, or Fix all for everything in the bucket.
Needs a rewrite
These use functions that simply don’t exist on your platform —
WEBSERVICE or the CUBE… family in Google Sheets, QUERY or
IMPORTRANGE in Excel. The assistant names each missing function so you
know exactly what to replace, but it never guesses at a rewrite that
would change what your formula means — use
Open in editor to rewrite it
yourself with the translator’s help. (An AI-assisted rewrite is coming
to the Pro plan.)
Broken after import
Valid formulas that error at runtime because the import cut their lifelines:
#REF!— usually a link to another workbook ([Budget.xlsx]…) or a range that no longer exists.#NAME?— a named range or custom function that didn’t survive the move.
Formula Foundry can’t restore what these pointed at — no tool can — but it shows every affected cell with a plain-language hint, and Open in editor puts you exactly where the repair happens.
Couldn’t analyze
Formulas our parser doesn’t understand yet (legacy add-in calls, exotic syntax). They’re listed for review but weren’t checked — they may work fine as they are.
Everyday data errors like #N/A from an empty lookup or #DIV/0! are
counted in a footnote and deliberately kept out of the buckets — they’re
data conditions, not migration damage.
How do I apply fixes?
Click Fix N cells on a group, or Fix all in the Auto-fixable header. Applying rewrites the formula in every cell of the group in one batch. Review the before/after first — applied fixes are real edits to your sheet, so treat the preview as your confirmation step.
If some cells can’t be written — a protected sheet is the usual cause — the group stays in the list with a note explaining what failed, and a Try again button for after you’ve unprotected it. Cells that did write are never touched twice.
When you’re done, Rescan workbook takes you back to the scan screen — your sheet selection preserved, ready to adjust — and running the scan again verifies the result: fixed formulas move into the healthy count, and anything you repaired by hand disappears from the report.
How do I fix a formula by hand?
Every finding has an Open in editor button — the hand-off for anything the translator can’t (or shouldn’t) fix on its own:
- The formula opens in a new editor tab, named after the finding, in the dialect it was written in — so for an Excel leftover you get the translator’s live preview and portability warnings immediately.
- The affected cell is selected in the spreadsheet behind the panel, and the tab is bound to it.
Edit until the preview looks right, then click Insert — it writes straight back into that cell, replacing the broken formula. For a group spanning many cells, the editor opens on the first one; the location chips on the finding list the rest.
Which formulas can be fixed automatically?
The same translator that powers the formula editor — direction depends on which spreadsheet you’re in:
- Renames where only the name differs:
VALUETOTEXT→TO_TEXT,POW→POWER,REGEXMATCH→REGEXTEST, and dozens more. - Reshapes where the arguments disagree:
TEXTSPLIT↔SPLIT,JOIN→TEXTJOIN,COUNTUNIQUE→COUNTA(UNIQUE(…)),AGGREGATE(…, 5, …)→SUBTOTAL(…). - Cleanups of platform idioms:
IF(ISERROR(x), y, x)collapses toIFERROR(x, y), Excel’s@and--operators are removed,ARRAYFORMULA(…)is added or dropped to match how your platform handles arrays.
Anything the translator can’t rewrite completely and safely goes to Needs a rewrite instead — a fix you have to double-check isn’t a fix.