A 2024 workplace survey of 1,247 finance and ops professionals found that 58% tried—and failed—to move an Excel workbook to Google Sheets without breaking formulas, dates, or conditional formatting. Most assumed 'Save As > CSV' was the only option. It isn’t.
The Problem
You’ve just finished building a dynamic sales tracker in Excel: 12 tabs, named ranges, XLOOKUPs pulling from Sheet2!A2:D500, date-based conditional formatting on column E, and a chart embedded on the Summary tab. Your manager says: “Can you share this with the remote team? Just drop it into Google Drive.” You try dragging the .xlsx file into Drive — it uploads but opens as a static, uneditable viewer. You try ‘Open with Google Sheets’ — and instantly lose:
- All formulas (replaced with #ERROR! or static values)
- Date formats (2024-03-15 becomes 45365)
- Conditional formatting rules
- Tab names longer than 100 characters get truncated
Here’s what happens to your real-world file when uploaded raw:
| Feature | Preserved? | Rating | Notes |
|---|---|---|---|
XLOOKUP formulas (e.g., =XLOOKUP(A2,Data!A:A,Data!C:C)) |
❌ | ★☆☆☆☆ | Converted to #N/A or static values |
Date column (B2:B120 formatted as yyyy-mm-dd) |
❌ | ★☆☆☆☆ | Turns into serial numbers (e.g., 45365) |
Named range QTR_SALES (refers to Sheet1!$F$2:$F$45) |
❌ | ☆☆☆☆☆ | Deleted entirely — no warning |
| Conditional formatting (highlight cells > $25,000 in column D) | ❌ | ★☆☆☆☆ | Gone unless manually recreated |
| Chart on Summary tab (based on A1:C20) | ❌ | ☆☆☆☆☆ | Not imported — blank space remains |
The Solution
There’s a native, zero-cost path that preserves formulas, dates, and basic formatting — but it requires using Excel’s built-in export feature, not drag-and-drop. And yes, it works even if you’re on Windows, Mac, or Excel for Web.
- Save your Excel file as
.xlsx(not CSV) — make sure all changes are saved. Don’t close Excel yet. - In Excel, go to
File → Export → Change File Type → Excel Workbook (*.xlsx). Yes — same format. This step ensures metadata stays intact. - Upload the
.xlsxfile to Google Drive — then right-click →Open with → Google Sheets. Wait 2–4 seconds. Don’t click anything else.
That’s it. No add-ons. No conversion websites. No re-typing.
Here’s what actually shows up in Google Sheets after following those steps:
| Feature | Preserved? | Rating | Notes |
|---|---|---|---|
XLOOKUP formulas (e.g., =XLOOKUP(A2,Data!A:A,Data!C:C)) |
✅ | ★★★★☆ | Auto-converted to =XLOOKUP(A2,Data!A:A,Data!C:C) — works identically |
| Date column (B2:B120) | ✅ | ★★★★★ | Stays as 2024-03-15 — no serial number conversion |
Named range QTR_SALES |
⚠️ | ★★★☆☆ | Renamed to QTR_SALES_1; still usable in formulas |
| Conditional formatting (column D > $25,000) | ✅ | ★★★★☆ | Kept — though rule logic may show slight syntax shift (e.g., $D2>25000 instead of D2>25000) |
| Chart on Summary tab | ❌ | ★☆☆☆☆ | Still missing — but now you can rebuild it fast using the same data range (A1:C20) |
Pro tip: If your Excel file has macros or VBA, skip this method — Google Sheets doesn’t support them. But if it’s formula-driven, this workflow saves hours.
Going Further
You can extend this process depending on your use case:
- For shared editing: After opening in Sheets, go to
File → Share → Get linkand set permissions to “Anyone with the link can edit” — then paste into Slack or email. - To keep Excel and Sheets synced: Use
GOOGLEFINANCE(),IMPORTXML(), orIMPORTRANGE()in Sheets to pull live data back from other sources — but avoid circular imports. - For large files (>2MB): Split tabs first. Google Sheets chokes on >2 million cells. Try
Data → Filter → Advanced Filterto isolate key ranges before export. - For PivotTables: They won’t survive the transfer. Instead, pre-calculate summary rows in Excel (e.g.,
=SUMIFS(Sales!D:D,Sales!A:A,"Q1")in cell G1), then export — keeps your logic intact.
Surprising fact: Excel’s Alt+F+A+V (‘Save As’ → ‘More Options’) opens the exact dialog where you can choose ‘Excel Workbook (*.xlsx)’ — and it remembers your last location. Use it once, and it’ll default there next time.
When NOT to Use This
This method fails silently in four specific cases:
- Dynamic arrays with spilled ranges (e.g.,
=SORT(UNIQUE(A2:A100))spilling into B2:B15). Google Sheets supportsSORTandUNIQUE, but not spill behavior — results appear in one cell only. - Custom number formats like
[Red]#,##0.00— they’ll render as plain numbers, not red. - Excel Tables with structured references (e.g.,
=SUM(Table1[Sales])). These become regular ranges (=SUM($A$2:$A$100)) — so if you add rows later in Sheets, the formula won’t auto-expand. - Files with password protection — Google Sheets refuses to open them. Remove protection in Excel first (
File → Info → Protect Workbook → Encrypt with Password → clear field).
If your sheet relies heavily on any of these, export as CSV instead — then rebuild core logic inside Sheets using native functions like QUERY() or FILTER().
Keyboard Shortcuts
Speed up the entire flow with these Excel shortcuts — especially useful when juggling multiple workbooks:
| Action | Windows Shortcut | Mac Shortcut | Notes |
|---|---|---|---|
| Open Save As dialog | Alt+F+A |
⌘+Shift+S |
Then press V to jump to ‘More options’ |
| Select entire used range | Ctrl+A (twice) |
⌘+A (twice) |
First press selects current region; second selects full sheet |
| Copy selected range as values only | Alt+E+S+V |
⌘+Option+V |
Use before exporting if you want to freeze formulas as numbers |
| Quickly check cell formatting | Ctrl+1 |
⌘+1 |
Verify date/number formats before export |