You can compare two Excel files three ways: with Microsoft's built-in comparison tools, with formulas and conditional formatting inside a workbook, or by exporting both sheets to CSV and matching rows by a key column. The right one depends on what changed. Edits to a few cells in the same layout suit Microsoft's tools. Added, deleted or reordered rows suit a key-based comparison. This guide covers each method, the cleanup that prevents false differences, and how to keep sensitive data private.
TL;DR
- Microsoft's Spreadsheet Compare and the Inquire add-in compare two workbooks cell by cell, but only in certain Office editions on Windows.
- If rows were inserted, deleted or reordered, compare by a unique key column, not by row position.
- Most "differences" come from numbers stored as text, trailing spaces, inconsistent dates and duplicate keys. Clean first, then compare.
- For a quick, private comparison, save both sheets as CSV and compare them by key in your browser. Nothing is uploaded.
Table of Contents
- Pick the method that matches your change
- Compare two workbooks with Microsoft's built-in tools
- Compare by key when rows move
- Compare two lists for matches and gaps
- Clean the data first, or the diff will lie
- Comparing CSV files and other formats
- Keep sensitive spreadsheets private
- Our perspective: why we built comparison into the browser
- Compare your files in Fixora
- A repeatable routine for any comparison
- FAQ
- Sources
Pick the method that matches your change
Before you open any tool, ask what kind of difference you expect.
| Situation | Best approach |
|---|---|
| Same layout, a few edited values, formulas or formatting | Spreadsheet Compare or Inquire in Excel |
| Two lists, need what is in both and what is missing | Highlight duplicates and uniques, or a list comparison tool |
| Rows added, removed or reordered between versions | Compare by a unique key column |
| Very large exports or scripted, repeatable checks | Python with a key index, or a CSV comparison tool |
| Files you cannot send to a third party | Local comparison in Excel, or in a browser tool that runs on your device |
The common mistake is using a position-based method on data whose rows moved. Excel's conditional formatting compares row against row by absolute position, so one inserted row can make everything below it look different, as one how-to guide points out. Choose the method before you start and you avoid a screen full of false alarms.
Compare two workbooks with Microsoft's built-in tools
Microsoft ships a dedicated comparison program for workbooks. Spreadsheet Compare is available only with Office Professional Plus 2013, 2016 and 2019, or Microsoft 365 Apps for enterprise. If you have a different edition, you will not find it, so check before you spend time looking.
Steps in Spreadsheet Compare
- Open Spreadsheet Compare.
- Choose which elements to include, such as formulas, cell formatting or macros.
- Select Compare Files.
- Pick the earlier version in the Compare box and the newer one in the To box.
- Click OK.
Results appear in a two-pane grid, with changes highlighted by color depending on the kind of change. According to Microsoft, entered values show with a green fill, and hidden worksheets are still shown and compared, which helps when someone has tucked a tab out of sight.
The Inquire add-in inside Excel
If Microsoft 365 or Office Professional Plus 2013 is installed, the Spreadsheet Inquire add-in is available in Excel. Its Compare Files command works on two open workbooks, cell by cell, with color-coded results for entered values, formulas, named ranges and formats. A separate window can show VBA code changes line by line.
On the Ribbon, that is the Inquire tab, then Compare Files. Choose both files and select OK. If you do not see the tab, the add-in may need enabling through Excel's COM add-ins settings.

Where the built-in route falls short
These tools are strong when two files share a layout. They are less convenient when you only have CSV exports, work on a Mac, run an edition without the add-in, or need to match records rather than positions. That is where key-based comparison earns its place.
Compare by key when rows move
A key is a column, or combination of columns, that identifies each record: an order ID, an email address, a SKU. Comparing by key answers three separate questions:
- Added: keys in the new file that are not in the old one.
- Removed: keys in the old file that are gone from the new one.
- Changed: keys in both files where one or more values differ.
The order of rows stops mattering, which is exactly what you want when a colleague sorted the sheet or inserted five rows. A Python guide to comparing Excel files describes the same logic with pandas: set the key as the index, use index difference and intersection to find added and removed rows, then use DataFrame.compare for cell-level changes with old and new values.
Two details from that guide apply no matter what tool you use:
- Round before you compare. A price that went through a currency conversion can differ in the fifteenth decimal place. Reporting that as a change teaches readers to ignore the diff.
- Check the key is unique first. A duplicated key makes a row-based comparison meaningless, because one row gets aligned against several. When no single column is unique, build a composite key, for example customer ID plus order date.
A worked example
Say you have last month's and this month's customer exports, each about 500 rows. Someone added 5 rows in the middle and re-sorted by name. Compared by position, hundreds of rows would light up. Compared by customer ID, you get a short list: 5 added, perhaps 2 removed, and a handful of rows where an email or status changed. That short list is what you take into a review meeting.

Compare two lists for matches and gaps
Sometimes you do not have two versions of one table. You have two lists, such as attendees and invitees, and want to know who appears in both and who is missing from one. Inside Excel, the Duplicate Values and Unique options under Highlight Cells Rules in conditional formatting are a quick way to spot overlap, as one 2026 guide describes. Lookup formulas are the other standard route.
If you would rather skip formulas, our list comparison tool shows common and missing items for two lists you paste in. Free text, such as two versions of a paragraph, belongs in a text comparison tool instead.
Clean the data first, or the diff will lie
Most failed comparisons are data hygiene problems, not tool problems. A 2025 audit-style guide attributes most failures to numbers stored as text, invisible trailing spaces and locale-specific dates. Run these checks on both files before comparing.
| Symptom | Likely cause | How to check |
|---|---|---|
| Cells look identical but are flagged | Trailing or leading spaces | Compare LEN against LEN of TRIM |
| Numbers do not match or sort wrong | Numbers stored as text | ISTEXT, or the green corner indicator |
| Dates mismatch | Mixed date formats or text dates | ISNUMBER on the date cells |
| One row matches several | Duplicate keys | COUNTIFS on the key column |
The same guide suggests this order of work: define scope and tolerance, profile row counts and duplicate keys, confirm join keys, standardize by trimming whitespace and normalizing case, then compare and log the results. A shorter checklist from the 2026 comparison guide adds confirming that both files have the same column headers, deciding whether case matters, removing blank rows and saving backup copies before you change anything.
When Excel flags cells that look the same, another guide notes that stray spaces or hidden formatting are the usual cause. Trim the spacing with TRIM or Find and Replace (Ctrl+H), and for numbers stored as text, select the green triangle and choose Convert to Number.
Comparing CSV files and other formats
CSV exports are the easiest format to compare by key, but they carry limits worth knowing:
- Values only. CSV holds no formatting, formulas or multiple sheets, only rows and columns, according to one compatibility reference. A comparison of CSVs tells you about values, not formulas.
- Encoding and separators. CSV has no standard for string escaping, data types or metadata. Files may use encodings such as Windows-1252, Shift_JIS or GB2312, which is a common cause of garbled data, while XLSX uses UTF-8 internally. In some European locales, commas serve as decimal separators, so a CSV may import wrongly.
- Size. Excel worksheets are limited to 1,048,576 rows by 16,384 columns, while CSV is limited by memory and tooling, per the same compatibility reference.
Because a CSV comparison covers values only, check formulas and formatting in Excel itself, using Spreadsheet Compare or Inquire, if they matter to your review.
Preparing Excel sheets for a CSV comparison
- In each workbook, go to the sheet you want to compare.
- Use Save As and choose a CSV format. Only the active sheet is saved, so repeat for each sheet.
- Make sure both files have the same column headers.
- Open each in a viewer to confirm the delimiter and columns look right before comparing.
Our CSV viewer previews a file and its delimiter, and our CSV cleaner helps tidy a file before you compare or import it. If you only need certain fields, the column selector lets you select and reorder CSV columns so both files line up.
Keep sensitive spreadsheets private
Finance exports, customer lists and HR records are exactly the files you compare most often, and the files you least want to hand to a stranger's server. You have a few options:
- Stay inside Excel. Spreadsheet Compare, Inquire and formulas all run on your own machine.
- Script it locally. Python with a key index runs on your computer, though it takes setup and some coding skill.
- Use a tool that processes files in the browser. Our tools are built so that processing happens locally on your device, with no account and no file upload.
Whichever you choose, remove columns you do not need before comparing. Fewer columns means fewer places for sensitive data to travel and fewer false differences.
Our perspective: why we built comparison into the browser
We think most spreadsheet comparisons are small jobs that get treated like projects. You have two exports, you want to know what changed, and you do not want to install software, create an account or send a customer list somewhere to find out.
That is why Fixora's tools run locally in your browser. Your files are processed on your device, with no uploads and no sign-up. For the everyday case, two CSV exports and a key column, that means you can go from file to answer in a minute.
We also believe the comparison should follow the data, not the layout. Comparing by key is what matches how people think about records: this customer was added, that one changed. Pair it with cleanup and a quick preview and you catch the spaces, delimiters and duplicates that usually cause trouble before they confuse the result.
IA
Compare your files in Fixora
If your data is in CSV, or you can save your sheets as CSV, you can compare CSV files by key with Fixora's free tool. It runs in your browser with no account, and your files are processed locally.

For the rest of the prep, our CSV and JSON workflow groups cleaning, comparing and converting in one place. Each tool has limits, so see the tool limitations page before you run a very large file. You can also browse all of our free tools.
A repeatable routine for any comparison
- Back up both files. Work on copies.
- Decide what counts as a difference. Values only, or formulas and formatting too? Set a rounding tolerance for numbers.
- Identify the key. Confirm it is unique in each file, or build a composite key.
- Clean both files. Trim spaces, convert text numbers, standardize dates and case, remove blank rows.
- Run the comparison. Position-based for identical layouts, key-based when rows moved.
- Sort the results. Separate added, removed and changed records.
- Spot-check. Open three or four flagged rows in the originals to confirm the difference is real.
- Record what you found. Keep the list of changes with the date and file names.
That routine takes a few minutes on a 500-row file, and it scales to far larger exports when the key and cleanup are done properly.
FAQ
Is there a way to compare two Excel files for differences?
Yes. In editions that include it, Spreadsheet Compare or the Inquire add-in shows cell-level differences in values, formulas and formatting. If you do not have them, save both sheets as CSV and compare by key, or use formulas and conditional formatting for smaller jobs.
How do I compare two sets of data in Excel for matches?
Highlight duplicate and unique values with conditional formatting, or use a lookup formula against a key column. Trim spaces and fix text-formatted numbers first, because those cause most false mismatches. For plain lists, a list comparison tool returns common and missing items directly.
Why does Excel say two identical cells are different?
Usually there are stray spaces, numbers stored as text, or a hidden formatting difference. Use TRIM to remove extra spacing, and choose Convert to Number on cells showing the green triangle. Then compare again.
Can I compare Excel files with a different number of rows?
Yes, but compare by a unique key instead of by position. That way added and removed rows are reported as such, and the remaining rows are matched to their counterparts wherever they sit.
Sources
- Compare two versions of a workbook by using Spreadsheet Compare (Microsoft)
- What you can do with Spreadsheet Inquire in Excel (Microsoft)
- Compare Two Excel Files for Differences with Python
- How to Compare 2 Excel Spreadsheets Like an Auditor
- How to Compare Data in Microsoft Excel (2026 Guide)
- Excel Workbook Comparison: How to Highlight Differences
- Excel compatibility (Rows n' Columns Docs)
- Excel vs CSV: Which Format Should Your App Support?
