Compare Excel Lists
Share tool
Only this public address is included. Your files, inputs and results stay out of the link.
Compare two CSV or Excel lists using matching key columns. Separate missing, new, changed and ambiguous rows and export the comparison.
Preparing your tool…
A visual example
Match the ID, not the row number
A row can move without its data changing. Choose a stable key to distinguish reordering from a real difference.
The first list ID Amount 0012 10 0013 20 The first list
Use the ID column as the key. These IDs are text, including their leading zeros.
The second list ID Amount 0013 25 0012 10 The second list
The order has reversed. The amount for 0013 has also changed from 20 to 25.
The meaningful difference ID Comparison 0012 Unchanged: 10 0013 Changed: 20 → 25 The meaningful difference
Matching by ID finds one changed value. The unchanged 0012 row is recognised even though it moved.
A stable key separates changed content from a different row order.
Illustrative example. Duplicate keys need separate review instead of an arbitrary match. With the default comparison, 0012 and 12 remain different identifiers.
Read the practical guide and worked example
How to use it
- Open the left and right CSV/XLSX files and select one sheet from each.
- Map corresponding columns and choose one or more key columns.
- Review changed values, entries present on only one side, and duplicate or empty keys.
- Download the Excel report with source rows and original old/new values.
The examples move ID 0013 to a different row and change its amount from 20 to 25. ID 0014 appears twice on the left and is reported as ambiguous rather than paired arbitrarily.
Details & limits
CSV/XLSX up to 5 MiB each; combined comparison up to 100,000 input cells and 10,000 rows. Keys remain exact unless normalization is selected. Duplicate keys are not paired automatically.
What happens when a key occurs more than once?
The matching rows are reported as ambiguous. The tool does not pick one silently. Add another key column or correct the duplicates in the source. By default, 0012 and 12 remain different; optional trimming or case normalization changes comparison only.
Compare the same records, not the same row numbers
A row can move without its contents changing. Decide which columns identify one record and which columns contain the values you want to compare. The direction also matters: ‘new’ means present on the right but absent on the left, relative to your chosen sources.
Check a newer list against an earlier export
Use the earlier file on the left and the newer one on the right. Map corresponding columns even when their positions differ. In the built-in example, ID 0013 changes amount from 20 to 25 despite moving rows. With ID and region as keys, the result is 1 unchanged, 1 changed, 1 new, 1 missing and 3 ambiguous source rows.
An ID represents several legitimate records
A product may appear once per region. Use the product ID together with region only if that combination really identifies a record in both files. The example's ID 0014 is still duplicated within CH, so adding region does not resolve it. Its two left rows and one right row remain three ambiguous source rows, not three matched changes.
Check your result
- Inspect one known unchanged and one known changed record, including source row numbers and original old/new values.
- Resolve empty and duplicate keys before treating unmatched totals as a reliable inventory difference.
- Confirm whether trimming or ignoring case is appropriate. Those options affect comparison of both keys and selected values, while reports retain originals.
If something looks wrong
Almost every row appears new or missing
Check key-column mapping, leading zeros, case and surrounding spaces. Do not normalize everything just to reduce the totals; 0012 and 12 may be different identifiers.
A spreadsheet formula seems out of date
The comparison reads the workbook's stored display values without recalculating formulas. Recalculate and save the source in its spreadsheet application, then compare the fresh export.