Back to homepage
Cross-file comparison guide
How to compare two separate Google Sheets files
Formulas in Google Sheets can only see tabs in the same file. To compare lists that live in different
spreadsheets, such as last quarter's file and this quarter's, or your copy and a colleague's, you first have
to pull one file into the other. Here is the manual route with IMPORTRANGE, and the paste-a-link route with
SheetDiff.
Quick answer
Bring the other file's data into your spreadsheet with IMPORTRANGE, or copy its tab across,
then compare the two tabs by a key column such as customer ID, SKU or email. SheetDiff sets up the
IMPORTRANGE for you when you paste the other file's link.
Step 1: Pull the other file in with IMPORTRANGE
- In your spreadsheet, add a new tab and call it
Other file.
- In cell A1, enter the other file's link and the range you need:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/FILE_ID/edit", "Sheet1!A1:F")
- The first time, the cell shows
#REF!. Select it and click Allow access. You only need to do this once for that source file.
The imported data stays linked, so it updates when the other file changes, and the other file itself is never
edited. If you would rather have a fixed copy, open the other file, right-click its tab and choose
Copy to → Existing spreadsheet instead.
Step 2: Find what's missing between the two lists
With your data in Sheet1 and the ID in column A of both tabs, this lists IDs in your file that
the other file does not have:
=FILTER(A2:A, A2:A<>"", ISNA(MATCH(A2:A, 'Other file'!A2:A, 0)))
For the opposite direction, put the same formula in a spare column of the Other file tab, to
the right of the imported data, with Sheet1!A2:A as the lookup range. Avoid wrapping
IMPORTRANGE inside a formula you fill down hundreds of rows; import once into a tab and point
your formulas at that.
Step 3: See which values changed
For IDs that appear in both files, compare each column you care about. For column C:
=IFERROR(IF(C2=XLOOKUP(A2, 'Other file'!A:A, 'Other file'!C:C), "Same", "Changed"), "Missing")
Fill it down, then repeat for every other column. A filter on the helper columns lets you review only the
rows marked Changed or Missing.
Where the IMPORTRANGE approach gets painful
- One formula per column: a ten-column sheet needs ten helper columns, and someone still has to read them all.
- Fragile references: the range is plain text, so renaming the tab in the other file breaks the import.
- No ID column: lookups need a unique key. Two plain lists of names or addresses are hard to match this way.
- Duplicate IDs:
MATCH and XLOOKUP silently use the first match and ignore the rest.
The one-click way: paste a link into SheetDiff
- Open the spreadsheet you want the results in and choose Extensions → SheetDiff → Start.
- Paste the other Google Sheet's link in the sidebar. SheetDiff adds its data as a new tab using IMPORTRANGE.
- The first time, Google asks you once to Allow access. This is Google's standard prompt for connecting two files.
- Match rows by a key column, by whole row for lists without IDs, or by row order, then click Compare.
You see how many rows are only in A, only in B, changed and matching, plus a plain-English summary. Click a
row in the sidebar preview to jump to it, or open the color-coded SheetDiff Report tab with
clickable row numbers. Changed numbers show both the difference and the percentage, for example
+5 (+5.6%). Your tabs are never modified.
Which method should you use?
- IMPORTRANGE and formulas: fine for a quick check of one or two columns between files with clean, unique IDs.
- SheetDiff: better for regular comparisons, sheets with many columns, lists without IDs, or a report you want to share.
- Both lists already in one file? Follow the guide to compare two tabs in Google Sheets instead.
Do I need edit access to the other file?
No. IMPORTRANGE only needs you to be able to open the other file, so view access is enough.
Does SheetDiff change the other file?
No. The other file is only read through IMPORTRANGE. Your own tabs are not modified either; results go to a
separate SheetDiff Report tab. You can delete the imported tab when you are done.
Does the owner of the other file need SheetDiff?
No. SheetDiff runs in the spreadsheet you have open. The other file just needs to be shared with you.
Is it free?
Yes. The free plan compares sheets of any size, 5 times a day, with exact counts and the first 25 rows of each
list. Pro is $10 a year for every difference, unlimited comparisons, CSV export, multi-column keys, saved
presets and more.
Can I compare a file with an older version of itself?
Yes. In version history, make a copy of the older version and paste that copy's link into SheetDiff. If you
check the same tab every week, snapshots are simpler; see how to
see what changed in a Google Sheet.