Google Sheets Lists Have the Same IDs? Find Which Status Values Changed

Compare two shuffled fictional status snapshots by ticket ID and identify the two records whose status changed without confusing row order with a change.

Google SheetsFictional practice dataEnglish captions
Start with a practice file

Try the example, then check the result.

Download the fictional material and follow the steps below. The video uses English illustrative diagrams; it does not present a live app recording. Product controls may vary by version.

Check the answer before applying the method to your own data. How we review guides ↗

Video walkthrough

Watch the complete lesson.

The video uses English illustrative diagrams; it does not present a live app recording. English captions. Product menus may differ in your account.

Quick answer. Put the two CSVs on tabs named Old and New. In Old!C2 use =IF(B2=XLOOKUP(A2,New!$A$2:$A$5,New!$B$2:$B$5),"Same","Changed") and fill down. It flags T-101 and T-102 only.

Use the fictional practice files: old-ticket-status-practice.csv and new-ticket-status-practice.csv, plus the independent answer check. Work in a copy. This guide stands on its own without the video.

Scope and limits. Each ticket ID must be unique in each snapshot for a single-status lookup to be meaningful. The practice has no missing IDs. Investigate a real #N/A as a missing record; do not silently label it Changed.

1. Place each snapshot on its own tab

Put old-ticket-status-practice.csv on a tab named Old and new-ticket-status-practice.csv on a tab named New. Keep row 1 as headers. Old!A2:B5 and New!A2:B5 each contain four records but not in the same order.

Checkpoint: Both tabs contain the same four IDs, each once.

2. Look up the matching new status

On Old, type Comparison in C1. In C2 enter =IF(B2=XLOOKUP(A2,New!$A$2:$A$5,New!$B$2:$B$5),"Same","Changed"). Fill C2:C5. The dollar signs keep the New ranges fixed while A2 and B2 advance on Old.

Checkpoint: Lookup joins on Ticket ID, not row number.

3. Read the two changed rows

Read Old!C2:C5. Changed must appear beside T-101 and T-102 only. Look up the actual New status values to explain each change: Open→Closed and Waiting→Assigned. The other two statuses are unchanged.

Checkpoint: Changed: T-101 and T-102.

4. Verify by an independent ID map

The independent answer is the set {T-101, T-102} for changes and {T-103, T-104} for unchanged statuses. Count two of each. This verification catches a formula accidentally using B2 versus New!B2 directly.

Checkpoint: Exactly two Changed and two Same.

Verify the result

Old-to-new mapping: T-101 Open→Closed (Changed), T-102 Waiting→Assigned (Changed), T-103 Open→Open (Same), T-104 Closed→Closed (Same). The new snapshot is intentionally shuffled. The output must say Changed for exactly T-101 and T-102, and Same for exactly T-103 and T-104.

If it still does not work

If all four look changed, check that the formula uses XLOOKUP by ID instead of comparing Old row 2 to New row 2. If #N/A appears, check the ID text and whether the ID is missing. Do not convert a missing-ID error into a status change without separate review.

Official sources

Any instructional panel without a marked actual-app capture is an illustrative diagram of the fictional exercise.

Take the example with you

Practice downloads.

The exercise files contain invented information. Save a local copy before editing.

Keep exploringBrowse published workshop guides