Home · Free tools · Compare two columns
Compare two columns
Drop the file, choose the two columns by their header names, and read the answer. You get the values that appear in both columns, the ones only in the first, the ones only in the second, and how many repeats each column contained — all four at once, without adding a helper column to your sheet and without uploading the file anywhere.
Your spreadsheet
Drop .xlsx or .csv here, or click to choose
Nothing is uploaded. The file is read by JavaScript in this tab and never leaves your computer — no server sees it, and closing the tab throws it away.
How to compare two columns in Excel
- Open the file. Drop the .xlsx or .csv onto the box. It is read by JavaScript in this tab; no copy is sent anywhere.
- Pick the two columns. Choose them from the dropdowns, which list the header names from the first row so you do not have to translate "column F" in your head.
- Read all four answers. In both columns, only in the first, only in the second, and the repeats inside each column — computed together, not one at a time.
- Take the result with you. Copy any of the three lists to the clipboard, or download it as CSV to paste back into your sheet.
"Compare two columns" is four questions, and the formula answers one
Almost every guide to comparing two columns in Excel gives you the same helper column:
=COUNTIF(B:B, A2)>0, or a VLOOKUP wrapped in IFERROR, or conditional formatting
with a duplicate-values rule. They work. What they have in common is that each one answers a
single question per pass:
- Which values are in both columns — the overlap. Customers who are on the renewal list and also on the paid list.
- Which are only in the first — invoices you issued that the bank statement does not show.
- Which are only in the second — charges on the statement with no invoice behind them.
- Which repeat inside one column — usually the reason the two totals disagreed in the first place.
Running the COUNTIF in the other direction to get the second answer means writing it again against the other column, and the fourth question needs a different formula entirely. This page computes all four in one pass and shows them side by side, each with its own count, copy button and CSV download.
Columns are chosen by their header, not by a letter
The dropdowns list the header names from the first row, so you pick Email and Billing email rather than counting across to column F and column N. Turn the header checkbox off and the columns are labeled A, B, C instead, and the first row is treated as data.
The two columns do not have to be the same length, or in the same order, or next to each other — matching is by value, not by row position. They do have to be in the same sheet; for two separate files use the file comparison tool, and for values you have already copied to the clipboard, compare two lists takes pasted text.
The invisible differences that make a match fail
A comparison that reports zero matches on data you can see is identical is nearly always one of four things, and this page handles three of them without being asked:
- Trailing spaces. Always trimmed. A value exported from another system usually carries one, and it is invisible in the cell.
- Full-width characters.
ACMEandACMEare different codepoints and compare as different text. They are folded together here (Unicode NFKC), which also fixes half-width katakana and accents typed as a letter plus a combining mark. - Upper and lower case. Treated as different unless you turn that off — which matters for
email columns, where
Bob@example.comandbob@example.comare one mailbox. - Numbers stored as text. This one you have to fix in the sheet:
1001and"1001"look identical and are not the same cell value in Excel either.
Close but not identical: use fuzzy matching instead
This page matches values exactly, after the folding above. If your two columns hold the same
customers spelled differently — Acme Corp. against ACME Corporation —
exact matching reports two unmatched values and it is right to. That is what
fuzzy matching is for; it scores every pair and lets you set how
close is close enough.
Nothing leaves this tab
The columns people compare are email lists, customer IDs, invoice numbers and account numbers. The file is read in your browser and the comparison runs there: there is no upload to intercept, log or retain. Open the developer tools on the Network tab and drop a file — no new request appears.
Questions people ask
How do I compare two columns in Excel for matches?
In Excel you would add a helper column with =COUNTIF(B:B, A2)>0 and filter on
it. Here you drop the file, pick the two columns, and the matches are one of the three lists you
get back — along with the two sets of non-matches, which the COUNTIF does not give you in the
same pass.
How do I find what is missing from one column?
That is the "only in the first column" list. It holds every value present in the first column with no counterpart in the second — the usual answer wanted by searches for missing values, and the reverse list is right next to it.
Can I compare two columns in different sheets or different files?
Not on this page — the two columns come from one sheet. For two sheets in one workbook use compare Excel sheets, and for two separate files use compare two Excel files, which also lets you match rows by a key column.
Is this the same as VLOOKUP?
It answers the question people use VLOOKUP for — "is this value over there" — without the
argument order, the absolute references that break when someone sorts the sheet, or the
#N/A cells. What it does not do is pull a value back from another column; for that
the lookup really is the right tool, and the Match panel in TableDI writes it for you.
How the formula panel works.
Are my files uploaded anywhere?
No. The file is read by JavaScript running in this tab, using the browser's own
DecompressionStream to unzip .xlsx and a parser that runs on your machine. There is no
server call in the page — you can watch the network tab while you use it. Close the tab and the data is gone.
Does it work with old .xls files?
Not directly. The .xls format is a different, binary format from Excel 97. Open it in Excel, LibreOffice or Numbers and save as .xlsx or .csv, then come back. The tool tells you this rather than failing silently.
Related
Do this on your own machine instead
TableDI is a desktop spreadsheet workspace that runs entirely on your machine. Import the file, fix it, chart it — nothing is uploaded, and there is no account to create.
Free forever, not a trial — no account, no card. macOS today; a Windows build is in progress. What the paid tier adds.
Last reviewed 2026-09-01 by the TableDI team. Something wrong on this page? Tell us — it is one inbox, read by the people who build TableDI.