| Method | Best for | Catch |
|---|---|---|
| Browser cell-diff tool | Fast answers on any machine, any format | Values only — formatting and charts invisible |
| Spreadsheet Compare (Office) | Formatting + formulas + structure, inside Excel | Professional Plus / enterprise editions only |
| Comparison formulas | Small ranges, no tools allowed | Both files open; doesn't scale |
| Power Query merge | Recurring reconciliations, key-based matching | Setup effort; overkill for a one-off |
Excel does ship a proper comparator — it compares formulas, formatting, structure, and even VBA changes. But it exists only in Office Professional Plus and Microsoft 365 Apps for enterprise: look for the Inquire ribbon tab, then Compare Files. If the tab isn't there, your edition doesn't include it. That single licensing decision is why "compare two excel files" is a search query at all — the majority of Excel installs simply don't have the feature.
For modest ranges, Excel itself is enough. Open both workbooks in one instance, add a scratch sheet, and enter:
=IF(Sheet1!A1<>Sheet2!A1, "DIFF at "&CELL("address",Sheet1!A1), "")
Fill it across the compared range, then filter the scratch column for "DIFF." You get a cell-by-cell value comparison with addresses, no add-ins. The honest limits: both files must be open together, a 40×100 range means 4,000 formulas filling down, and nothing tells you about sheets present in only one file.
A value diff answers one question precisely: which cells hold different data now? In a v1/v2 order-book test — five line items, one sheet changed, one untouched — the comparison reported 14 differing cells: a price update (7.25 → 7.85), a quantity bump (500 → 650), one fully replaced line (all five columns), one appended row (five new cells), and a whole sheet that existed only in v2. That's the review-ready output: addresses, old values, new values.
Three blind spots to know cold:
Search for an Excel comparison tool and most top results are upload services: your two workbooks go to their server, get compared there, and produce a report. For a budget tracker, fine. For payroll registers, customer exports, or M&A models, you're handing the exact document you're trying to vet to a third party with an unread retention policy — and often the free tier's queue is the least of it.
The alternative costs nothing extra: a browser-based diff loads the spreadsheet engine (SheetJS in ours) as JavaScript and runs it on your machine. Files are read into memory, compared, reported, and that's it — you can watch the network tab stay quiet during the comparison. Our Excel Diff works this way, reads xlsx/xlsm/xlsb/xls/ods/csv in any mix, and exports the full difference list as CSV.
Positional diffing assumes both files keep the same row order. When v2 is a re-sorted export or rows come and go by the thousand, compare by key instead: Power Query's Merge Queries with a full outer join on your ID column, a VLOOKUP/XLOOKUP =IF(XLOOKUP(id,oldData,value)<>value,"changed","new") scaffold, or a scripting library. Key-based comparison survives inserts, deletes, and sorts — the cost is declaring what identifies a row. Rule of thumb: positional for version-on-version of the same file, key-based for independent exports.
Open both workbooks, hit Compare, and get every differing cell with its A1 reference. Nothing uploaded.
Open the Excel Diff →Match the lane to the job: Spreadsheet Compare if your edition has it, formulas for small same-session checks, key-based merges for re-sorted data, and a local browser diff for everything else — especially when the files shouldn't leave your machine. Neighboring lanes: plain text changes belong in the text diff checker, JSON in JSON diff, and PDFs in Compare PDF.
Use a browser-based comparator that runs the spreadsheet engine locally — files are read into memory, compared, and reported with no network traffic (verifiable in the network tab). That matters because most 'compare Excel files online' services upload both workbooks to a server, a real problem for payroll, customer data, and financial models. ToolAspect's Excel Diff works this way and handles xlsx, xls, ods, and csv in any mix.
In Microsoft Office Professional Plus and Microsoft 365 Apps for enterprise only: Inquire → Compare Files on the ribbon. Standard Microsoft 365 Personal/Home and Business installs don't include it, which is why so many people go searching for alternatives. If your ribbon has no Inquire tab, your edition doesn't have the feature — it isn't hidden, it's absent.
Yes, when both ranges are open: in a scratch sheet, enter =IF(Sheet1!A1<>Sheet2!A1,"DIFF at "&CELL("address",Sheet1!A1),"") and fill across the range, then filter for DIFF. It compares values cell by cell and works in any Excel edition. The limits: it needs both files open in one instance, doesn't scale gracefully past a few thousand cells, and knows nothing about sheets that exist in only one file.