How-to guide

How to compare two Excel files and spot every change

You have this month’s workbook and last month’s, and you need to know exactly what changed — new rows, deleted rows, edited numbers. Doing it by eye is slow and error-prone. Here are the reliable ways to compare two Excel files, from built-in tools to a one-click automatic diff.

£28k +18%
1.1–1.5bn
people use spreadsheets worldwide
EarthWeb
~20 hrs
a week knowledge workers spend in spreadsheets
Acuity Training
~94%
of operational spreadsheets contain at least one error
Panko / EuSpRIG
~2 min
from a raw file to an auditable result with DataHub Pro
DataHub Pro

Why comparing versions is harder than it looks

Excel gives you the data but not the changes — you have to reconstruct them.

The problem with comparing two spreadsheets is that Excel stores values, not changes. Rows move, someone inserts a line, a number gets edited three tabs over — and nothing highlights it. Version tracking is one of the most-cited spreadsheet pain points precisely because the tool that created the mess gives you no map of it.

There are four practical approaches, in rough order of effort: eyeball the two files side by side, write comparison formulas, use conditional formatting to flag mismatches, or use a dedicated diff. Which one fits depends on whether your rows line up perfectly (they rarely do) and how often you have to do this (if it’s monthly, automate it).

The trap to avoid: comparing two files by sorting both and scrolling. The moment a row is inserted or deleted, every row below it looks ‘changed’ even though only the alignment moved. A real comparison has to match rows by a key, not by position.

Four ways to compare two Excel files

What each method is good for, and where it breaks.

MethodBest forWatch out for
Side-by-side (View → Arrange All)A quick visual check of two small sheetsUseless once rows shift; misses subtle edits
Comparison formula (=IF(A1=Sheet2!A1,...))Cell-by-cell diff when rows line up exactlyBreaks if rows are inserted/deleted; no key matching
Conditional formattingHighlighting mismatched cells visuallyPositional only; won’t track moved rows
Microsoft Spreadsheet CompareWindows/Office Pro workbook diffsWindows-only, Office Pro/365 tiers; clunky for data tables
Automatic file diffMatching rows by key, seeing added/removed/changedNeeds a tool built for it — see below

The manual method that actually works

If you do it by hand, match on a key column.

If you’re staying in Excel, the only robust manual method is a key-based comparison. Pick the column that uniquely identifies a row (an ID, an invoice number, an email). Use XLOOKUP or VLOOKUP from each file into the other to find rows that exist in one but not the other, then a second pass to compare the shared rows field by field.

This works, but it’s fiddly to set up every time, and it only tells you that a value changed, not gives you a clean summary of what changed across the whole file. For a one-off it’s fine. For a monthly close, rebuilding the formulas each time is exactly the kind of manual work worth removing.

The fastest way: an automatic diff

Upload both versions, get a clean list of every change.

DataHub Pro approaches this the way a version-control tool would: upload the old file and the new file, tell it which column is the key, and it returns a plain-English summary — rows added, rows removed, and every field that changed with its before/after value. No formulas, no positional false-positives, no Windows-only software.

Because it matches on a key rather than a row position, inserting or deleting rows doesn’t create phantom differences. And because the output is a report, you can hand it to a colleague or attach it to your month-end pack instead of screenshotting highlighted cells. Try it on two versions of the same file and see the change list in under a minute.

Frequently asked questions

How do I compare two Excel files for differences?

Match rows on a unique key column, then compare fields. In Excel, use XLOOKUP/VLOOKUP from each file into the other to find added and removed rows, then compare shared rows cell by cell. For a clean, repeatable result, upload both files to a tool like DataHub Pro that diffs them automatically and lists every change.

Can Excel compare two files automatically?

Office Professional Plus and Microsoft 365 include Spreadsheet Compare, which diffs two workbooks, but it’s Windows-only and awkward for large data tables. A spreadsheet-native tool that matches rows by key and outputs a change report is usually faster for data files.

How do I find what changed between two versions of a spreadsheet?

Don’t compare by row position — a single inserted row makes everything below look changed. Compare by a key column so added, removed and edited rows are identified correctly. DataHub Pro does this in one step and returns a before/after list.

What’s the best way to compare large Excel files?

Formulas and side-by-side views don’t scale past a few hundred rows. For large files, use a tool built to diff datasets by key and summarise the changes, rather than trying to eyeball or format the differences.

Is there a free way to compare two Excel files?

Yes — comparison formulas are free but manual. DataHub Pro has a free tier you can use to upload two versions and get an automatic change list without writing any formulas.

Why do all my rows show as different when I compare?

Almost always because the comparison is positional and a row was inserted or deleted, shifting everything below. Switch to a key-based comparison that matches rows by an ID rather than by their position.

Explore related guides

More guides on cleaning and reporting from spreadsheets.

How-to
Find and fix errors in Excel
Clean data before you compare.
How-to
Variance analysis in Excel
Explain the changes.
Function
XLOOKUP in Excel
The key-matching function.
How-to
Excel to dashboard
From file to dashboard.
Guide
AI Excel data cleaning
Fix messy data.
Guide
AI for Excel
The complete map.

See exactly what changed between two files

Upload the old version and the new version, pick the key column, and get a plain-English list of every added, removed and changed row. Free tier, then $14.99/mo.

Try it free on your file →