The first thing most people do when they unbox a new MacBook and need Excel is open the App Store and search 'Excel'. Then they get confused — there’s no standalone 'Microsoft Excel' app to buy. Some click 'Get' on a $129 'Excel for Mac' listing, only to find it redirects to Microsoft 365. Others download LibreOffice, thinking it’s the same thing, and waste two hours formatting payroll tables that won’t open on their manager’s Windows laptop. That confusion isn’t your fault — it’s baked into how Apple and Microsoft handle this.
Quick Answer
No, a MacBook doesn’t come with Excel pre-installed — but yes, you can run fully compatible Excel files on it in four distinct ways: via Microsoft 365 subscription, iCloud Web Excel, Excel for Mac (free trial + paid license), or third-party apps with .xlsx import (like Numbers). Only the first two give full feature parity with Windows Excel — and even then, some Power Query and VBA features are missing or behave differently.
All the Methods
| Method | Steps | Best For | Limitations |
|---|---|---|---|
| Microsoft 365 Subscription | Sign in at office.com → Install Office → Open Excel.app. Requires annual or monthly plan ($6.99/mo personal). | Teams needing PivotTables, XLOOKUP, real-time co-authoring, and Power Pivot modeling. | No VBA editor support on M-series chips (as of macOS 14.5); macros run but can’t be edited. |
| iCloud Web Excel | Go to icloud.com/numbers → Click ‘+’ → Choose ‘Excel spreadsheet’ → Edit in browser. No install needed. | Quick edits during client calls, reviewing shared files, or when you’re on a borrowed Mac. | No Data Validation rules, no conditional formatting icons, and charts don’t export as editable objects. |
| Excel for Mac (Standalone) | Download from microsoft.com/mac/excel → Enter product key (sold separately, ~$149 one-time). | Freelancers who hate subscriptions and only use core formulas + charts. | No collaboration history, no AI-powered Insights tab, and no access to Microsoft Copilot inside Excel. |
| Numbers + Export | Open Numbers → File → Import → Select .xlsx → Edit → File → Export To → Excel. | One-off reports, internal team decks, or invoices where formula fidelity isn’t critical. | XLOOKUP, LET, and dynamic arrays convert to static values. Charts become flattened images. |
Method 1 Deep Dive
Let’s say Sarah Chen at Acme Corp needs to reconcile Q2 vendor payments before Friday’s finance sync. She opens her MacBook Air (M2, macOS 14.5) and logs into office.com with her work account. Instead of downloading anything, she clicks Excel in the top-left app launcher — and lands in Excel for the web.
She uploads vendor_payments_Q2.xlsx (saved locally in Downloads). It opens instantly — no conversion prompt. She selects B2:B12 (invoice amounts), presses Alt + H + H to open the Format Cells dialog, then chooses Accounting format. The numbers now show $45,200.17 instead of 45200.1678.
Here’s the surprise: When she tries to add a =FILTER() formula in cell D2 to pull unpaid invoices only, Excel for the web accepts it — but if she later opens the file in Excel for Mac (desktop app), that same formula returns #NAME?. Why? Because FILTER was added to Excel for Mac in version 16.83 (April 2024), but many corporate-managed Macs still run 16.79. So always check Excel > About Excel before building dynamic arrays.
Sample data before and after applying the filter logic:
| Vendor | Amount | Status | Due Date |
|---|---|---|---|
| Nexus Logistics | $12,450.00 | Paid | 2024-04-12 |
| TerraFab Inc | $8,920.50 | Unpaid | 2024-05-03 |
| Veridian Systems | $21,100.75 | Unpaid | 2024-05-18 |
| Lumina Design Co | $5,630.20 | Paid | 2024-04-29 |
That’s 4 rows. After entering =FILTER(A2:D5,C2:C5="Unpaid") in cell F2, Excel for the web returns just the two unpaid rows — cleanly. But again: test on the target machine before sending.
Method 2 Deep Dive
Now imagine Rajiv Patel, a freelance graphic designer in Berlin. He got a MacBook Pro last month and needs to send an invoice to a U.S. client who insists on Excel format. He doesn’t want a subscription — and he knows his client uses Excel 2019 (no dynamic arrays).
He opens Numbers (pre-installed), creates a new blank spreadsheet, and pastes his data starting at A1:
| Item | Qty | Rate | Total |
|---|---|---|---|
| Logo Design | 1 | $1,200.00 | =B2*C2 |
| Brand Guidelines | 1 | $850.00 | =B3*C3 |
| Social Assets | 3 | $320.00 | =B4*C4 |
He adds a sum in B6: =SUM(D2:D4). Then goes to File → Export To → Excel… and checks “Use Excel-compatible formulas.” He saves as Rajiv_Invoice_2024-06-11.xlsx.
When the client opens it in Excel 2019, the totals display correctly — but if Rajiv had used =XLOOKUP() or =SEQUENCE(), those would’ve broken. Numbers silently replaces unsupported functions with #N/A or static values. Always verify exports on Windows if possible — or ask your client to screenshot cell formulas before finalizing.
Cheat Sheet
| Task | Shortcut / Step | Notes |
|---|---|---|
| Open Excel for the web | Go to office.com/launch/excel | No login required for view-only mode. |
| Format as currency (Mac) | Select cells → Cmd + Shift + 4 | Works in desktop Excel and Excel for the web. |
| Check Excel version | Excel menu → About Excel | Critical before using FILTER, SORT, or XMATCH. |
| Export from Numbers to Excel | File → Export To → Excel → Check “Use Excel-compatible formulas” | Uncheck “Preserve layout” if columns shift unexpectedly. |
| Insert current date | Ctrl + ; (semi-colon) | Same shortcut works in Numbers, Excel for Mac, and Excel for web. |