How to Convert Excel to Google Sheets (and Back)
Excel and Google Sheets both do spreadsheets — but they don't do them identically. Converting a file between the two mostly works, sometimes surprises you, and occasionally loses data. This guide covers every conversion method in each direction, what survives the trip, and how to prepare files so nothing important breaks.
What's in this guide
Why convert either direction
Excel → Google Sheets
- Real-time collaboration — multiple people editing at once with visible cursors
- No file to email — everyone works from the same URL
- Cross-device access — any browser, no Excel installation needed
- Built-in versioning — automatic revision history with named versions
- Better sharing controls — per-user permissions, expiring access, comment-only mode
Google Sheets → Excel
- Advanced features — Power Query, Power Pivot, complex pivot tables, VBA automation
- Offline work — full functionality without an internet connection
- Larger data handling — Excel processes millions of rows better than Sheets
- Compliance requirements — some industries mandate local file storage
- Sharing with Excel-only teams — clients or partners who don't use Google Workspace
Excel → Google Sheets: 4 methods
Method 1: Upload and open in Sheets (fastest)
- Open Google Drive (drive.google.com)
- Drag your .xlsx file into the Drive window (or click New → File Upload)
- Wait for the upload to complete
- Double-click the file — it opens in Google Sheets automatically
The file is still an .xlsx at this point. Sheets edits it as an Excel file — you can save, share, and collaborate, but it stays in Excel format.
Method 2: Convert to native Google Sheets format
To get a true .gsheet file with all Sheets features (some things like QUERY only work in native format):
- Open the uploaded .xlsx in Sheets (as in Method 1)
- File → Save as Google Sheets
- A new .gsheet file is created in the same folder
- The original .xlsx remains untouched — delete or keep as backup
Method 3: File → Import (into an existing Sheet)
Useful when you want to merge Excel content into an existing Google Sheet.
- Open the target Google Sheet
- File → Import
- Upload tab → drag your .xlsx
- Choose action: Create new spreadsheet / Insert new sheet(s) / Replace spreadsheet / Replace current sheet / Append to current sheet
- Click Import data
"Insert new sheet(s)" is the most useful — brings Excel content in as new tabs in your existing Sheet without disturbing what's there.
Method 4: Copy-paste for small blocks
For a specific range rather than a whole file:
- Select the range in Excel, Ctrl+C
- Switch to Google Sheets, click target cell
- Ctrl+V (regular paste)
Formulas paste as text unless you use Paste Special. For values only: Ctrl+Shift+V. For preserving Excel formulas: often better to import the whole file, then delete what you don't need.
Google Drive → Settings (gear icon top right) → General → check "Convert uploads to Google Docs editor format". Every .xlsx you upload from now on becomes a native .gsheet automatically. Off by default; useful if you're moving fully to Google Workspace.
Google Sheets → Excel: 3 methods
Method 1: Download as Excel
- Open your Google Sheet
- File → Download → Microsoft Excel (.xlsx)
- Browser saves the file to your Downloads folder
- Open in Excel
Fastest method. Result is a standard .xlsx with charts, formulas, and formatting mostly preserved.
Method 2: Export via Google Drive
Good for downloading multiple Sheets at once:
- In Drive, select the Google Sheet file(s)
- Right-click → Download
- Drive converts each to .xlsx and downloads as a ZIP if multiple
Method 3: Publish and download
Only useful for making a public snapshot available for others to download:
- File → Share → Publish to web
- Choose Sheet or Entire spreadsheet
- Format: Microsoft Excel (.xlsx)
- Publish → get a direct download URL
Recipients hitting the URL get the current snapshot. Useful for embedded "download the report" links.
What's preserved and what breaks
| Element | Excel → Sheets | Sheets → Excel |
|---|---|---|
| Basic formulas (SUM, IF, VLOOKUP) | ✓ Full | ✓ Full |
| Text and number formatting | ✓ Full | ✓ Full |
| Cell colors and borders | ✓ Full | ✓ Full |
| Basic charts | ✓ Most | ✓ Most |
| Complex charts (combo, sparklines) | Partial | Partial |
| Pivot tables | Partial — may need refresh | Partial |
| Conditional formatting | Mostly — some complex rules break | Mostly |
| Data validation | Mostly — dropdowns work | Mostly |
| Named ranges | ✓ Full | ✓ Full |
| Excel Tables | Lost — become regular ranges | N/A |
| VBA macros | ✗ Lost entirely | N/A |
| Apps Script | N/A | ✗ Lost entirely |
| Power Query queries | ✗ Lost | N/A |
| Power Pivot data models | ✗ Lost | N/A |
| Sheets-specific functions (QUERY, ARRAYFORMULA) | N/A | ✗ Return #NAME? |
| Comments | ✓ Full (as Sheets comments) | ✓ Full |
| Sheet protection | Partial — passwords lost | Partial |
| Hyperlinks | ✓ Full | ✓ Full |
| Images | ✓ Mostly | ✓ Mostly |
| Merged cells | ✓ Full | ✓ Full |
Formula compatibility
Functions that work in both
The core spreadsheet functions are essentially identical:
- Math: SUM, AVERAGE, MIN, MAX, COUNT, COUNTA, ROUND, MOD, PRODUCT
- Logic: IF, AND, OR, NOT, IFS, IFERROR, ISNA, ISBLANK, ISNUMBER
- Lookup: VLOOKUP, HLOOKUP, INDEX, MATCH, XLOOKUP (Sheets added it)
- Text: LEFT, RIGHT, MID, LEN, FIND, SEARCH, SUBSTITUTE, TRIM, UPPER, LOWER, PROPER, CONCATENATE, TEXT
- Date: DATE, TODAY, NOW, YEAR, MONTH, DAY, EOMONTH, WEEKDAY, NETWORKDAYS
- Statistical: SUMIF, SUMIFS, COUNTIF, COUNTIFS, AVERAGEIF, AVERAGEIFS
- Financial: PV, FV, PMT, RATE, NPER, IRR, NPV
Excel-only (may not survive Sheets conversion)
- LAMBDA and helper functions (MAP, REDUCE, BYROW, BYCOL) — Sheets added LAMBDA later but with differences
- Newer text functions (TEXTBEFORE, TEXTAFTER, TEXTSPLIT) — Sheets added these more recently
- Some Power Query and Power Pivot functions
- Legacy CSE array formulas — Sheets uses ARRAYFORMULA instead
Sheets-only (won't work in Excel)
- QUERY — Sheets' SQL-style function has no Excel equivalent
- ARRAYFORMULA — Excel uses dynamic arrays instead, syntax differs
- IMPORTRANGE, IMPORTDATA, IMPORTHTML, IMPORTXML — Excel has different import mechanics
- GOOGLETRANSLATE — no Excel equivalent
- GOOGLEFINANCE — Excel uses Stocks data type instead
- SPARKLINE — Excel has a different sparkline mechanism (not formula-based)
Convert a Sheet with QUERY or ARRAYFORMULA to Excel and every cell with those functions shows #NAME?. The original formulas are still stored in the file — but Excel doesn't know how to evaluate them. To fix: rewrite as native Excel formulas before or after conversion.
Macros and Apps Script — the total incompatibility
Excel uses VBA (Visual Basic for Applications). Google Sheets uses Apps Script (JavaScript-based). They're entirely different languages targeting different APIs.
What survives Excel → Sheets
VBA code is stripped during conversion. If you open an .xlsm in Sheets natively (without converting), VBA is preserved in the file but doesn't run. Any macro triggers, form buttons, or event handlers stop working.
What survives Sheets → Excel
Apps Script code is not exported with the .xlsx download. Scripts remain in the Sheet on Google's servers but don't come along.
Translating between them
Simple macros translate reasonably well. Concepts map:
- VBA
Sub→ Apps Scriptfunction - VBA
Range("A1").Value→ Apps ScriptSpreadsheetApp.getActiveSheet().getRange("A1").getValue() - VBA event handlers → Apps Script
onEdit,onOpentriggers - VBA MsgBox → Apps Script
SpreadsheetApp.getUi().alert()
See the Macros & VBA guide for the VBA basics and the Google Sheets Apps Script guide for the equivalents.
VBA that opens Outlook, controls Word documents, uses Windows COM objects, or accesses the local file system has no direct Apps Script equivalent. Plan a rewrite, not a conversion.
Handling large files
Sheets row and cell limits
- Google Sheets: 10 million cells per spreadsheet
- Excel: 1,048,576 rows × 16,384 columns per sheet (~17 billion cells possible)
Excel files larger than 10 million cells fail to import to Sheets. If you're near the limit:
- Delete unused rows/columns before conversion
- Split into multiple Sheets by category, region, or date range
- Keep the original as Excel and use Sheets only for a summary or filtered view
Performance on large files
Google Sheets slows noticeably above 100,000 rows of formula-heavy data. Excel handles this size comfortably. If your workbook is large and formula-heavy, keep it in Excel and access from Google Drive as .xlsx if you need cross-platform access.
File size limits
- Excel .xlsx max size for upload to Drive: no strict limit, but files over 100 MB may time out
- Sheets file size for editing: no explicit MB limit, but the 10-million-cell cap effectively caps size
Editing Excel files in Sheets without converting
Since 2019, Google Sheets natively edits .xlsx files without conversion. This is often the best of both worlds.
How it works
- Upload .xlsx to Drive
- Open with Google Sheets (no "Save as Google Sheets" step)
- Edit normally — all changes save back to the .xlsx
- Download at any point as .xlsx to get the latest version
Advantages
- Collaboration on the same Excel file — real-time editing, cursors, comments
- No format conversion means no loss of Excel-specific structure
- File stays compatible with users who only have Excel
- VBA and other Excel-specific content preserved (though not runnable in Sheets)
Limitations
- Sheets-specific features (QUERY, IMPORTRANGE) unavailable — file is still .xlsx
- Some advanced Excel features have limited support in the editor
- Files must stay in .xlsx format — no way to add Apps Script
Convert to native .gsheet when: you need QUERY, ARRAYFORMULA, or Apps Script; the file will live in Google Workspace long-term; you don't need to share back with Excel users. Keep as .xlsx when: some users only have Excel; the file uses VBA or Power Query; you may want to move it back to Excel long-term.
Automating conversions
Batch conversion via Apps Script
Apps Script can loop through folder contents and convert every .xlsx to .gsheet:
Batch conversion via Google Drive API
For higher volumes, the Drive API (via Python, Node, or another language) does the same operation with better error handling. Requires OAuth setup.
Third-party tools
- Zapier / Make.com — no-code automation for triggered conversions ("new file in Dropbox → upload to Drive → convert to Sheets")
- Google Workspace Marketplace add-ons — several handle bulk conversion with UI
Common pitfalls
When you convert an .xlsm to .gsheet, Sheets doesn't warn you that VBA code is being stripped. The file opens looking normal — no macros, no buttons that used to work. Always check if a workbook has macros before converting.
Excel and Sheets both start dates from a serial number, but their epochs differ slightly. Modern Sheets uses the same epoch as Excel for dates after 1900. Very old dates (pre-1900) may shift by a day or two. Verify historical dates after conversion.
A cell showing "1,234.56" in a US-locale Excel might import as "1234,56" in a European-locale Sheets (or vice versa), potentially misread as text. Check File → Settings → Locale in Sheets and confirm it matches your data's format.
Excel allows some named-range characters that Sheets doesn't, and vice versa. Names with special characters may be renamed silently during conversion, breaking formulas that referenced them.
Excel pivot tables convert to Sheets pivot tables, but the cached data doesn't always transfer cleanly. Right-click any pivot table after conversion → Refresh to force recalculation from source.
Excel hidden sheets/rows/columns usually convert to hidden in Sheets — but not always. If you had confidential data on hidden sheets, verify after conversion.
Complex chart formulas sometimes point at ranges using different addressing after conversion. Charts may look right but reference the wrong data. Spot-check chart values against source.
Round-tripping (Excel → Sheets → Excel) can increase file size significantly as both formats add their own metadata. If size matters, work in one format consistently and only convert when needed.
Before you convert: a 5-point checklist
- Does it have VBA macros? If yes, converting loses them. Decide whether to rewrite as Apps Script or keep the .xlsx and edit in Sheets natively.
- Does it use Power Query or Power Pivot? Both are Excel-only. Converting loses the queries and data model.
- Does it use Sheets-only functions? QUERY, ARRAYFORMULA, IMPORTRANGE won't work in Excel. Plan replacements.
- How big is it? Over 10 million cells won't fit in Sheets. Over 100K rows may perform poorly.
- Who needs to open it? If any recipient is Excel-only, keep as .xlsx (which Sheets edits natively).
Convert with fewer surprises
Auditing a workbook for VBA, Power Query, Sheets-specific functions, and formula compatibility before conversion is tedious. Excel Wizard scans the file, flags anything that won't survive the conversion, and either fixes the incompatibilities or produces a list of what to manually address after.
Install Excel Wizard →Frequently asked questions
How do I convert an Excel file to Google Sheets?
Upload to Drive, right-click → Open with → Google Sheets. For a fully native conversion, then File → Save as Google Sheets. VBA macros do not transfer.
How do I convert Google Sheets to Excel?
File → Download → Microsoft Excel (.xlsx). Sheets-specific functions like QUERY return #NAME? in Excel — replace them before conversion if you need clean output.
Do formulas convert correctly between Excel and Google Sheets?
Standard functions work in both. Sheets-specific (QUERY, ARRAYFORMULA, IMPORTRANGE) fail in Excel. Newer Excel functions may not exist in older Sheets. Test critical formulas after conversion.
What happens to macros when converting?
VBA doesn't convert to Apps Script. You must rewrite. Simple macros translate reasonably; complex ones need rework.
Can I edit an Excel file in Google Sheets without converting it?
Yes. Sheets edits .xlsx files natively — no conversion needed. Edits save back to .xlsx. Great for collaboration on Excel files.