Blog Open the app

How to Match and Merge Two Company Lists From Different Spreadsheets

April 29, 2026 · 8 min read

You have two spreadsheets with company names. Maybe one is from your CRM and the other from a trade show. Maybe one is from sales and the other from marketing. Maybe one is from last year and the other is current.

You need to combine them. But first, you need to figure out which companies appear in both lists — so you don't create duplicates when you merge.

You try VLOOKUP. It finds almost nothing. The same company is spelled "Microsoft Corp" in one list and "Microsoft Corporation" in the other. VLOOKUP sees these as completely different.

Sound familiar? Here's how to actually solve this problem.

Why VLOOKUP Fails for Company Names

VLOOKUP does exact matching. Two strings are either identical, or they're not. There's no "close enough."

This works fine for matching order numbers, product SKUs, or employee IDs. Those are standardized. If the order number is "ORD-12345" it's "ORD-12345" everywhere.

Company names are different. They're entered by humans, often years apart, by people who never coordinated with each other. The same company appears in your data as:

List AList BVLOOKUP Result
Acme CorpACME CorporationNo match
Johnson & JohnsonJohnson and Johnson, Inc.No match
The Walt Disney CompanyDisneyNo match
PricewaterhouseCoopersPwCNo match
General Electric Co.GENo match

These are obviously the same companies. A human can see it instantly. But VLOOKUP returns #N/A for every single one.

You could try to standardize the names first — remove "Inc." and "Corp" and "LLC", convert to uppercase, strip punctuation. This helps a little, but it doesn't catch abbreviations like "GE" for "General Electric" or "PwC" for "PricewaterhouseCoopers."

You need a different approach entirely.

The Solution: Fuzzy Matching

Fuzzy matching compares two strings and gives you a similarity score instead of a yes/no answer.

Instead of "do these match?" it asks "how similar are these?"

You set a threshold — say, 80% — and anything above that is considered a match. Anything below is not. The gray zone (70-80%) gets flagged for human review.

This catches the real-world variations that exact matching misses.

Step-by-Step: Matching Two Company Lists

Here's the practical process for combining two lists.

Step 1: Combine Both Lists Into One Spreadsheet

Create a single spreadsheet with all records from both sources. Add a column called "Source" to track where each record came from.

Company NameSourceOther Data...
Acme CorpCRM...
Johnson & JohnsonCRM...
ACME CorporationTrade Show...
Tesla Motors IncTrade Show...
Johnson and Johnson, Inc.Trade Show...

This gives you one file to work with. The "Source" column lets you identify which records came from which original list — important when you decide what to merge.

Step 2: Run Fuzzy Matching on Company Names

Use a fuzzy matching tool to compare every company name against every other company name in your combined list. The tool will identify pairs that are similar enough to potentially be duplicates.

With DedupFuzzy, you:

  1. Upload your combined CSV
  2. Select the company name column
  3. Get results showing duplicate pairs with similarity scores

The output looks like this:

Company 1Company 2Similarity
Acme CorpACME Corporation87%
Johnson & JohnsonJohnson and Johnson, Inc.84%

Step 3: Review the Matches

Not every high-similarity pair is a real match. "Apple Inc" and "Maple Inc" are 73% similar but completely different companies.

Go through the matches and confirm:

For each confirmed match, you now know which records from List A correspond to which records from List B.

Step 4: Decide What Data to Keep

For matched pairs, you need to decide:

Create a "master" record for each matched pair that combines the best data from both sources.

Step 5: Build Your Merged List

Your final list contains:

You now have a single, deduplicated list ready for use.

Real Example: Merging CRM + Event Data

Let's walk through a realistic scenario.

List A (CRM): 2,000 company records built up over 3 years

List B (Event): 500 company records from a recent trade show

Marketing wants to import the event contacts into the CRM. But they don't want to create duplicates for companies already in the system.

Here's what happens:

  1. Combine both lists into one file with 2,500 rows
  2. Run fuzzy matching on company names
  3. Find 180 matches (companies from the event that are already in the CRM)
  4. Review matches, confirm 165 are real, reject 15 false positives
  5. For the 165 confirmed matches: update existing CRM records with new event data (contacts, notes, etc.)
  6. For the remaining 335 event companies: create new CRM records

Result: 335 genuinely new companies added. Zero duplicates created. Marketing happy. Sales happy. Data clean.

Alternative: Using a Matching Key

If your data has a shared identifier — like company domain/website — you can use that as a matching key first, then fuzzy match the remainder.

Company NameDomainSource
Acme Corpacme.comCRM
ACME Corporationacme.comEvent

Here, you can match on domain first (exact match), then use fuzzy matching only for records where domain is missing or doesn't match.

This hybrid approach is faster for large datasets because domain matching is instant, and you only need to fuzzy match the leftovers.

Common Mistakes to Avoid

Mistake 1: Trusting similarity scores blindly. A 75% match isn't always a real match. "First National Bank" and "First National Bank of Chicago" might score high but be different organizations. Always review.

Mistake 2: Setting the threshold too low. If you accept 50% similarity as a match, you'll get tons of false positives. Start at 80% and lower it only if you're missing obvious matches.

Mistake 3: Forgetting the "Source" column. Without tracking where each record came from, you can't tell which list had better data for the merge.

Mistake 4: Not keeping backups. Always save your original lists before merging anything. If something goes wrong, you need to be able to start over.

Mistake 5: Manual matching for large lists. Eyeballing 5,000 records for duplicates takes forever and you'll miss things. Use a tool. Your time is worth more than that.

Tools for This Job

For small lists (under 500 records):

Use DedupFuzzy for free. Upload your CSV, get matches in 60 seconds, no signup required.

For medium lists (500-10,000 records):

DedupFuzzy handles this well. For more control, Python's rapidfuzz library is excellent if you're comfortable with code.

For large lists (10,000+ records):

You'll want a dedicated tool or custom code. At scale, you also need to think about blocking strategies (comparing only records that might plausibly match) to avoid comparing every record against every other record.

The Bottom Line

Matching and merging two company lists doesn't have to be painful. The key insight is that VLOOKUP is the wrong tool for this job. Company names are messy, and you need fuzzy matching to handle the messiness.

The process is straightforward:

  1. Combine both lists with a "Source" column
  2. Run fuzzy matching on company names
  3. Review matches (especially the 70-85% similarity zone)
  4. Merge data for confirmed matches
  5. Import everything into your final destination

Do this, and you get a clean combined list with no duplicates. Skip it, and you're cleaning up the mess for months.

Ready to merge your company lists? Upload your CSV and find matching records in about 60 seconds. Free for 500 rows, no signup required.

🚀 Try DedupFuzzy Free