Compare two Excel files
Upload file A and file B, choose the column that identifies each row, and download a report that marks every row as only in A, only in B, changed or identical.
What it is for
This is the question Excel cannot answer without formulas: you have two versions of the same list — last week's and today's, the system's and the client's — and you need to know what was added, what disappeared and what quietly changed in between.
Doing it by eye stops working past twenty rows, and building it with VLOOKUP and cell-by-cell checks is fragile: it breaks when columns move and it cannot tell a new row from an edited one. Here you upload both files and download a report that is already classified.
How rows are matched
Rows are not compared by position but by a key column: the value that identifies each row, such as the customer email, a tax number or a product code. If you name none, the first column is used, which is where the identifier lives in most spreadsheets.
You can type the column name, its Excel letter (A, B, AA) or its number.
The same key is looked up in both files, so it does not matter if they are in a
different order.
Each row in the result is marked with one of four statuses:
- Only in A — the key exists in the first file but not the second.
- Only in B — the key exists in the second file but not the first.
- Changed — the key is in both, but some shared value differs.
- Identical — the key is in both and everything compared matches.
Which columns decide "changed"
To decide whether a row present in both files changed, only the columns that share the same header name are compared. That way, if file B carries an extra column or the columns are in another order, the comparison still makes sense instead of flagging everything as different.
The comparison respects the same fine settings as the other tools: ignore spaces at the start and end is on — stray spaces are the number one cause of false differences — and match upper and lower case is off. If you only care about the differences, turn on "show differences only" and the identical rows are left out of the report.
How to read the report
The result is an .xlsx with a status column followed by file A's columns
(prefixed A ·) and file B's columns (prefixed B ·), so you can read the
before and after of each row side by side. Filter by the status column and you
have the list of additions, removals or changes in seconds.
If the same key appears repeated in file B, matching would be ambiguous: the tool uses the first occurrence and warns you how many keys were duplicated, so you know the second file needs a pass of remove duplicates before you trust the comparison.
Frequently asked questions
What if my files have the columns in a different order?
It does not matter. Rows are matched by the value of the key column, not by position, and the columns to compare are found by header name. The physical order of the columns is irrelevant.
Can I compare by more than one column at once?
The key is a single column. If your identifier is split across several — first and last name, say — join them first into one with split and merge columns and compare by that.
Does it catch a row that changed in just one cell?
Yes. If the key matches in both files but any of the shared columns holds a different value, the row is marked "Changed". That is why it pays to review the report filtered on that status.
Does it change my original files?
No. Neither of the two files you upload is altered. What you download is a new report; the originals are left untouched.
What if I want to bring data from one file into the other?
That is not comparing, that is joining. Use join two files, the VLOOKUP without formulas, which brings the missing columns into each row from the second file.