How to find changed values when Excel rows are in a different order

Find changed customer details even after the list is sorted differently. Match customer IDs first, then separate changed, unchanged, new and missing records.

Previous and current customer lists with a different order, a changed tier, a missing customer and a new customer.
Illustration with fictional data, not a screenshot of the app.

To see what changed between last month's file and this month's, join on the same customer IDs first. Then choose Compare values for the details you want to check, such as Tier or Amount. The comparison follows the customer rather than the row position, so a different sort order does not look like a change.

Separate changed values from added and missing records

The fictional Previous sheet contains C10, C20 and C30. Current contains C20, C10 and C40. C10 changes from Silver to Gold; C20 remains Gold. C30 is absent from Current, and C40 is new.

Use Customer ID to identify the same person and Tier to check what changed. That distinction lets you tell a changed tier apart from a customer who was added or removed.

Join on the IDs and compare the tiers

  1. Load Previous as the first sheet and Current as the second.
  2. Join their Customer ID columns and choose All rows from both sheets so added and missing customers remain visible.
  3. Connect the Tier columns. Open the grouped key menu on the line and use the VS button beside Tier ↔ Tier to change that pair to Compare values.
  4. Check Comparison result, Changed columns and Changes in Result preview.
  5. For several columns with matching names, use Auto-compare. It excludes the join keys. Connect differently named comparison columns manually.

Diagram separating the Customer ID join from the Tier comparison.

Expected result

Customer ID Comparison result Meaning
C10 Changed Tier changed from Silver to Gold
C20 Same The compared tier is still Gold
C30 First sheet only Missing from Current
C40 Second sheet only Missing from Previous

There are four rows. C20's new position does not count as a change. Same means the fields selected for comparison are equal, not that every unselected column is identical.

Diagram of one changed, one unchanged, one previous-only and one current-only customer.

Find the changed field names and choose what to compare

For C10, Changed columns identifies Tier, and Changes shows Silver becoming Gold. Start with these two columns when a record has many fields so you can find the differences without checking every value.

For a financial comparison that needs Amount and Quantity but not a staff note, join on the ID and add comparison lines only for Amount and Quantity. If you use Auto-compare, check whether it included other same-named fields. Unselected fields do not affect the Same result.

What if the same customer ID appears more than once?

Add a second identifying field if Customer ID alone repeats. For example, join on both Customer ID and Branch when there is one record per customer at each branch. The selected fields need to identify one record in each sheet; otherwise JOIN SHEET cannot decide which two records to compare and will not simply pick the first one.

To keep only changes, open Refine results and add Filter. Set Field to Comparison result, Condition to Equals, and Value to Changed, then choose Apply. Check a few IDs against the source before saving the full result.

Try it with your own files

Start with JOIN SHEET ↗

Use a desktop computer for Excel and CSV work.
Opens in a new tab without replacing your current work.

Example last verified:

Sources

How to compare two lists: missing values and different values — Reddit r/excel

Question about returning the names of changed columns

Question about comparing selected fields in two files

The customer IDs and tiers are fictional examples of finding missing records, changed values and their field names.