How to Remove Duplicate Company Names in Google Sheets (And Why It Misses Most of Them)
If you've ever run Data → Data cleanup → Remove duplicates in Google Sheets and still found "Acme Corp" sitting next to "Acme Corporation" in your sheet, you've hit the core limitation: Google Sheets only removes exact duplicates.
It's not a bug. It's just what the feature does. The problem is that most real-world duplicate company names and contacts aren't exact matches — they're near-matches created by inconsistent data entry, different source systems, or abbreviation habits. And those, Google Sheets can't help you with.
Want to dedupe your CSV in under 2 minutes?
Upload your CSV and find duplicates in seconds — no signup, no install, 1,000 rows free.
Try it for free →What Google Sheets Actually Does
Google Sheets' Remove Duplicates compares the raw text in selected columns. Two cells must be completely identical (or identical when ignoring case, if you check that option) for a row to be flagged as a duplicate.
This means the following all survive as "unique" records:
| Record A | Record B | Removed? |
|---|---|---|
| Acme Corp | Acme Corporation | ❌ No |
| Microsoft | Microsoft Inc. | ❌ No |
| apple inc | Apple Inc. | ❌ No (with case sensitivity on) |
| Global Partners LLC | Global Partners | ❌ No |
| Jennifer Walsh | Jen Walsh | ❌ No |
The only pairs it catches are ones like "Acme Corp" and "Acme Corp" — identical strings. In a list built from multiple sources, trade show exports, or manual entry, those are rarely your actual problem.
The Formula Workaround (And Why It's Limited)
A common approach is to normalize the data first using formulas — LOWER(), TRIM(), SUBSTITUTE() — to remove obvious differences before deduplicating. For example:
=LOWER(TRIM(A2))
This helps with casing and whitespace. But it still won't catch:
- "Corp" vs "Corporation" vs "Company"
- "Inc." vs "Incorporated" vs "Inc"
- "Jen" vs "Jennifer"
- Word order differences: "Walsh Jennifer" vs "Jennifer Walsh"
You'd need an increasingly complex chain of SUBSTITUTE() formulas to strip every suffix variant — and even then, names entered with different spellings or abbreviations won't match.
Google Sheets Add-Ons for Fuzzy Matching
Two add-ons extend Sheets with fuzzy matching:
Flookup — the most capable option. Supports similarity-based deduplication inside Sheets, with a configurable threshold. Works well for smaller datasets but runs inside Apps Script, which has a 6-minute execution timeout. Files above ~30,000 rows often need to be split and processed in batches. Paid plans from $15/month.
Find Fuzzy Matches — simpler interface, good for spotting typos and near-duplicates in a single column. Less configurable than Flookup, and similarly constrained by Apps Script timeouts on larger files.
Both require installing from the Google Workspace Marketplace, granting permissions to your Google account, and staying within Sheets. If your list needs to go into HubSpot, Salesforce, or any other system after cleaning, you're still exporting a CSV at the end.
The Faster Alternative: Export, Clean, Reimport
For most people trying to clean a contact or company list before a CRM import, the most practical approach is:
- Export your sheet as a CSV
- Run it through a dedicated deduplication tool
- Download the clean file and import it where it needs to go
Clean by Similarity API is built for exactly this. Upload a CSV or Excel file, pick which columns to match on — company name, contact name, or both together — and it finds near-duplicates even when names are spelled differently. Business suffix stripping (Inc., LLC, Corp.), casing normalization, and word order handling are simple toggles. No install, no Google account permissions required. Download a clean merged file, a flagged original, or a review sheet with similarity scores.
For files you'd otherwise process in Sheets, this approach is faster and catches significantly more duplicates than any add-on.
Key Takeaways
- Google Sheets' Remove Duplicates catches exact matches only — name variants survive regardless of how similar they look
LOWER()andTRIM()formulas help with casing and whitespace but don't catch abbreviations, suffix variants, or different spellings- Sheets add-ons (Flookup, Find Fuzzy Matches) add fuzzy matching but are constrained by Apps Script timeouts on files above ~30,000 rows and require account permissions
- For most CRM import prep, exporting to a dedicated deduplication tool is faster and more reliable than working within Sheets
Free for files up to 1,000 rows. No signup required.