Analistable

How to use fuzzy merge in Power Query

By the Analistable team · Updated · 2 min read

In the Merge dialog, tick Use fuzzy matching to perform the merge and open Fuzzy matching options. Set the Similarity threshold (0 to 1, default 0.80), tick Ignore case, and optionally Match by combining text parts. Lower thresholds match more loosely. Always add the similarity score and review borderline matches before trusting the result.

Part of our guide: How to merge data in Power BI, Power Query and Tableau

When fuzzy matching helps

Names that don't match exactly
InvoicesCRMExact mergeFuzzy merge (0.8)
Hart & CoHart and CoNo matchLikely match
Nordic Supply ApSNordic SupplyNo matchLikely match
bakery luneBakery LuneNo matchMatch (Ignore case)
Acme LtdAcme LabsNo matchPossible false match

The last row is the risk: fuzzy matching finds similar text, not the same company.

Step by step

  1. Load both tables into Power Query and choose Merge Queries.
  2. Select the text columns to match. Fuzzy matching works on text columns only.
  3. Tick Use fuzzy matching to perform the merge.
  4. Open Fuzzy matching options: set the similarity threshold, tick Ignore case, and set Maximum number of matches to 1 if each row should match at most one record.
  5. Click OK and expand the columns you need.

The options

Fuzzy matching options
OptionEffect
Similarity threshold0–1; 1 means exact. 0.8 is the default; try 0.85–0.9 for company names
Ignore caseTreat upper and lower case as equal
Match by combining text partsMatches “Micro soft” with “Microsoft”
Maximum number of matchesLimits matches per row; 1 avoids duplicated rows
Transformation tableA two-column table (From, To) of known equivalents, e.g. “&” → “and”

Check the matches

Expand the matched name next to the original and add a similarity column: in the M code for the merge, add the SimilarityColumnName option:

= Table.FuzzyNestedJoin(Invoices, {"Customer"}, CRM, {"Name"}, "CRM", JoinKind.LeftOuter,
    [IgnoreCase = true, Threshold = 0.85, NumberOfMatches = 1, SimilarityColumnName = "Score"])

Expand the Score column too, sort ascending and review the lowest-scoring matches by hand. Clean obvious noise first (legal suffixes like Ltd, GmbH, ApS; punctuation) — that improves accuracy more than lowering the threshold.

Fuzzy merge is in Excel for Microsoft 365 and Power BI. For exact-key joins, see Merge Queries join kinds.

A transformation table for known variants

When you know certain variants mean the same thing, give fuzzy merge a transformation table with From and To columns:

Transformation table
FromTo
&and
LtdLimited
IntlInternational

Select it under Fuzzy matching options → Transformation table. Power Query applies the mappings before scoring similarity, so these variants match with a higher score.

Frequently asked questions

What similarity threshold should I use?
Start at the default 0.8, review the matches, then raise it (0.85–0.9) if you see false matches or lower it if obvious matches are missed.
Can fuzzy merge match numbers or dates?
No. Fuzzy matching only works on text columns.
Why does fuzzy merge return duplicate rows?
A row matched more than one record. Set Maximum number of matches to 1.

Related guides