Join vs merge: rows or columns?
The two sound alike but do opposite things, and picking the right one saves a lot of confusion:
| Merge | Join | |
|---|---|---|
| Direction | Stacks files (more rows) | Matches files side by side (more columns) |
| Needs a key? | No | Yes — a shared column |
| Everyday example | Twelve monthly exports into one | A customer’s details next to their order |
| Spreadsheet equivalent | Copy-paste rows | VLOOKUP / XLOOKUP |
So use the merger to combine like-for-like files, and this joiner to enrich one file with columns from another.
Left join or inner join?
A left join keeps every row of your left file; an inner join keeps only the rows that matched. If your left file is the one that must stay complete — every customer, even those with no order yet — choose left, and unmatched rows simply get blank cells for the right-hand columns. If you only want the records that exist in both files, choose inner. The result tells you how many rows matched and how many didn’t, so you can sanity-check the overlap.
If one file’s IDs lost their leading zeros or turned into scientific notation, the keys won’t match. Repair them first, then join.
Open the repair tools →The honest limits
This is a first-match lookup, not a full relational join. For each row on the left it pulls the first matching row from the right — exactly how VLOOKUP behaves — which is perfect for one-to-one lookups. It does not fan one left row out into several when a key appears many times on the right (a one-to-many join); for that you’d want a database or Power Query. One more practical gotcha worth knowing: matching is exact, so a key with a stray space or a lost leading zero on one side won’t match — tick Ignore case for casing differences, and clean the key columns first if they’re messy (the cleaner trims spaces, including the non-breaking kind).
Related
Stacking files rather than matching them? Use the CSV merger. Key columns damaged by Excel? Fix leading zeros or scientific notation first. Every Excel-and-CSV pitfall is in the guides.
Frequently asked questions
How do I join two CSV files by a common column?
Load both files, pick the key column in each (they don’t need the same name), choose a left or inner join, and click Join. Each left-file row gets the matching right-file row’s columns appended. It runs in your browser, so neither file is uploaded.
What’s the difference between joining and merging CSVs?
Merging stacks files (more rows, same columns). Joining matches files side by side on a shared key (more columns, same rows) — the VLOOKUP job. Use merge to combine like-for-like exports; use join to enrich one file with data from another.
What is a left join versus an inner join?
A left join keeps every row from the left file, filling blanks where the right file has no match. An inner join keeps only rows that matched in both. Choose left to keep all left-hand rows, inner when you only want records in both files.
Does it handle a key that appears more than once?
It takes the first matching right-file row per key, like VLOOKUP — ideal for one-to-one lookups. It does not expand one left row into several for a one-to-many match; for that you’d need a database or Power Query.