Most people think Google Sheets opens Excel files like a native app. They’re wrong. It doesn’t ‘open’ them — it imports, converts, and sometimes silently drops features you rely on daily. And if you’ve ever lost conditional formatting or seen #REF! errors after uploading, you’ve already felt the gap.
The Myth
‘Google Sheets opens Excel files.’ Full stop. That’s what you’ll read in 9 out of 10 blog posts, YouTube titles, and internal IT handouts. You drag an .xlsx into drive.google.com, click it, and — boom — it looks familiar. So you assume everything’s intact: formulas, named ranges, pivot tables, even that custom number format in column D. You start editing. Then later, someone opens the original in Excel and says, ‘Where’s the data validation in B5?’ or ‘Why is this chart gone?’
You didn’t break anything. The myth did.
The Reality
Google Sheets doesn’t open Excel files — it imports them into its own engine, translating on the fly. Some things survive perfectly. Others vanish without warning. And some convert in ways that look fine until you sort or recalculate.
| Symptom | Cause | Fix |
|---|---|---|
| #REF! in formulas after upload | Named ranges or external workbook links don’t exist in Sheets | Replace =SUM(Revenue!A1:A10) with =SUM('Revenue'!A1:A10) — and confirm tab name matches exactly |
| Dates show as numbers (e.g., 45247) | Sheets interprets Excel’s serial date system differently if locale settings mismatch | Select column → Format → Number → Date. Or use =TEXT(A2,"yyyy-mm-dd") to force consistency |
| Macros, VBA, or ActiveX controls missing | Sheets has zero VBA support — ever | Rewrite logic using Apps Script (e.g., auto-fill on edit) — or keep that file in Excel |
| PivotTable disappears or shows ‘Data source invalid’ | Sheets creates a flat copy; no live connection to source range | Rebuild as a Sheets Pivot Table (Data → Pivot table) using the imported data range (e.g., A1:F212) |
| Conditional formatting rules vanish or misfire | Rules referencing entire columns (e.g., $B:$B) often fail during import | Before uploading, limit ranges to used rows: $B$2:$B$187 instead of $B:$B |
Why the Myth Persists
Back in 2012, Google added ‘Open with Google Sheets’ as a right-click option in Drive. It worked well enough for basic spreadsheets — and everyone assumed it was full compatibility. Tutorials from that era still rank highly. I found one from 2014 titled ‘How to Open Excel Files in Google Sheets (It’s Easy!)’ — it never mentions macros, dynamic arrays, or even XLOOKUP. That post has over 140K views. And because the UI says ‘Open’, not ‘Import & Convert’, the mental model stuck.
We also underestimate how much Excel has evolved since then. Excel 365 now supports LAMBDA, LET, and array-spilling functions. Sheets? Still catching up. And while Sheets added =XLOOKUP() in late 2023, it doesn’t handle if_not_found the same way — try =XLOOKUP(A2,Data!A:A,Data!C:C,"Not found") and watch it return #N/A anyway if Data!C:C contains blanks. (Trust me, I learned this the hard way — spent 45 minutes debugging before checking the Docs page.)
The Right Way
Stop treating upload as ‘opening’. Start treating it as migration — with preparation.
Step 1: Clean before upload. Delete unused sheets. Clear all VBA (Alt+F11 → delete modules). Replace volatile functions like =INDIRECT() or =OFFSET() with static references where possible.
Step 2: Freeze critical formatting. In Excel, select B2:C10 → Home → Conditional Formatting → New Rule → ‘Format only cells that contain’ → set rule. Then save. Sheets preserves most single-cell rules — but not ‘Use a formula to determine which cells to format’ unless the formula uses only relative/absolute refs (no sheet names).
Step 3: Upload deliberately. Don’t double-click the file in Drive. Instead: Right-click → Open with → Google Sheets. This triggers conversion *before* editing — not mid-session.
Step 4: Verify immediately. Check these cells:
A1: Does header row match?F2: Is that $45,200 showing as currency or plain number? (If plain, apply Format → Number → Currency.)H5:H12: Are those green/red highlights still there? If not, reapply conditional formatting manually.Sheet2!A1: Did the second tab import? (Sheets sometimes skips blank or hidden tabs.)
Here’s real sample data you can test with — copy-paste into Excel, save as Q3-Report.xlsx, then upload:
| Region | Sales Rep | Q3 Revenue | Target Met? | Last Updated |
|---|---|---|---|---|
| North America | Sarah Chen | $214,850 | ✓ | 2024-09-12 |
| EMEA | Diego Morales | $189,300 | ✓ | 2024-09-10 |
| APAC | Priya Nair | $142,720 | ✗ | 2024-09-14 |
| LATAM | Mateo Ruiz | $98,410 | ✗ | 2024-09-08 |
| North America | Jamal Wright | $256,130 | ✓ | 2024-09-13 |
| EMEA | Anya Petrova | $167,890 | ✓ | 2024-09-11 |
Proof It Works
Here’s what happens when you follow the steps above — vs. dragging-and-dropping blindly:
| Feature | Drag & Drop (Myth) | Prep + Right-Click Open (Reality) |
|---|---|---|
Formula integrity (=SUMIFS() across tabs) | #REF! in 3 of 5 instances | All formulas calculate correctly |
| Date formatting (2024-09-12) | Shows as 45547 in column E | Preserves YYYY-MM-DD display |
| Conditional formatting (green/red flags) | Only applies to first 10 rows | Applies to full range (A2:E7) |
| Tab structure | Skips ‘Summary’ tab (hidden in Excel) | Imports all visible tabs — ‘Summary’ included |
| Cell comments | Converted to notes (no author or timestamp) | Retains original author + timestamp (if shared via Google Workspace) |
Exceptions
There *are* cases where ‘Google can’t open Excel files’ is factually true — not myth, not misunderstanding.
- Password-protected workbooks: Sheets won’t prompt for password. It fails silently — uploads as blank or shows error ‘Unable to convert’.
- Excel Binary (.xlsb) files: Not supported at all. You’ll get ‘This file type isn’t supported’ — no workaround.
- Files > 5MB or > 2 million cells: Upload succeeds, but Sheets refuses to convert. You’ll see ‘File too large to open in Sheets’ — even if it’s just one huge lookup table.
- Dynamic array formulas referencing spilled ranges:
=SORT(FILTER(...))spills into adjacent cells in Excel, but Sheets treats it as a single-cell result. No spill behavior — just #VALUE!.
If any of those apply, don’t waste time converting. Keep it in Excel — or export to CSV first (Data → Export → Change File Type → CSV), then import that into Sheets. Yes, you lose formulas — but gain reliability.
One last tip: Press Alt + / in Sheets to open the command palette. Type ‘import’ — and you’ll see ‘Import spreadsheet…’. Use that instead of drag-and-drop for full control over sheet selection and column detection.