Fuzzy Lookup Add-In for Excel

Data cleaning is often a big challenge when working with textual data. The Fuzzy Lookup Add-In for Excel is a new tool from Microsoft Research and BI Labs that helps with the problem of identifying and matching textually similar string data in Excel. It is robust to spelling mistakes, synonyms, missing or added words and a number of other data quality problems frequently encountered in the real world. It has support for most languages and works well across a wide variety of data domains. Common uses include cleaning up lists of names, addresses, products or other entity descriptions which contain fuzzy duplicates. It can also be used to fuzzy join two different tables together. For instance, you might clean and augment a table of dirty city, state data with a zip code by matching it against a clean reference table of city, state and zip codes. Give it a whirl and let us know how it works for your data!

Comments (78)

  1. Kris Ganjam says:

    An updated version of the add-in has just been released. It fixes a bug that was causing the tool to fail on systems where the default numeric format for decimal values is configured to use something other than "." as the decimal separator.

  2. Doug Finke says:

    Can you use the Microsoft.DataIntegration DLL in C#? Are there any examples?

    Thank you

    Doug Finke


  3. Kris Ganjam says:

    Hi Doug, at present the functionality is only available through Excel. We are looking at ways to make it more widely accessible to developers.

  4. W P says:

    Just downloaded the addin and still get a COM addin error and it won't run.

  5. Kris Ganjam says:

    Hi W.P., make sure that you installed the add-in by running setup.exe and not just just the .msi file; setup.exe installs a few prerequisites that your machine might require. Please send me an email at krisgan@microsoft.com and we can figure out what the problem is.

  6. Yilun says:

    Hi Kris – Have you looked at FuzzyDupes by Kroll Software?  I've used that in the past.  Unfortunately, I'm only on Excel 2007 and my computer is locked down and prevents me from installing Dot Net 4.  Hope to eventually get a chance to try out your algorithms.

  7. Kris Ganjam says:

    Hi Yilun, thanks for the pointer. For those interested, some papers highlighting the ongoing research and technical details behind fuzzy lookup and other data cleaning technologies can be found here: research.microsoft.com/…/datacleaning

  8. Paul Wakefield says:

    Hi Kris,

    I can only get it to work very sporadically. A couple of times I have succesfully created lists which it has run on but, for the vast majority of the time, pressing the "Go" button has no effect. I can not establish any pattern as to when it will work or not.

    It doesn't even work on the Portfolio file supplied with the Add-in.

    Any ideas?

  9. Kris Ganjam says:

    Hi Paul, someone else reported a similar problem where the GO button was consistently not doing anything. They had originally installed the add-in by launching the .msi instead of setup.exe. When they uninstalled the add-in and then re-installed via setup.exe it started working. You might give that a try. If you still are seeing problems, send me an email at krisgan@microsoft.com and we can debug offline.

  10. Paul Wakefield says:

    Hi Kris,

    Will email.



  11. Nick says:

    Hi Kris,

    I think this software will be very helpful for a current project.  I do, however, have Excel 2007.  Is there anyway I can use the fuzzy look-up with '07 Excel?

    Thank you

  12. Kris Ganjam says:

    Hi Nick, someone reported that they were able to get it to run with Excel 2007. You might give it a try. If you can let us know whether it worked, that would be great.

  13. Steve James says:

    I'm successfully using Fuzzy Lookup on some hefty data sets at BT plc in the UK. It would be good to have some sort of visual progress indicator though – theres no way of knowing how far through the data set the analysis has progressed and/or whether it's crashed.

    Otherwise, a very promising tool and good UI.

  14. Miki Breakwell says:


    I have installed this today; I am having the same "Go button doesn't do anything" problem as noted below.

    I have uninstalled and reinstalled using setup.exe but this doesn't seem to be having any effect.



  15. Stuart Fotheringham says:

    Installed this plug-in in my 32-bit Excel in Windows 7 x64 environment and it's brilliant.

    I've only had it on my PC for an afternoon and already it's saved me time and I can see this will save me hours every week. I am delighted.

    I've also got a 64-bit Excel in Windows 7 x64 environment I use for my big number crunching work, it's seperate because most of my plug-ins are only available in 32-bit, and I hope it works in that too.

  16. Steve Milner says:

    How to get this Addin to load?, I'm running Excel 2010 and I can see the Add In under Inactive Applications Addins but when I try to load it I get "Not Loaded. A runtime error occurred during the loading of the Com Add-In.

  17. david braithwaite says:

    portfolio example works as advertised.

    Tried it on a table >200K rows and got a TITLE:

    Exception from HRESULT: 0x800A03EC



  18. Trevor Hunt says:

    Having issues with the transformations not working. Is there a good walk-through to show how to use these advanced configuration features properly?

  19. Cesar Augusto says:

    Does this Add-In work with Excel 2007 over Windows XP (Spanish)?

  20. Jim Baldwin says:

    Is there a way to access this Addin through Excel VBA?

  21. James says:

    Hello Kris,

    Job well done. It also works perfectly well with Excel 2007.

    However, as Jim Baldwin said, it would be ideal to access it through Excel VBA …

    Do you have any plans ?

  22. Adrien Jorge says:

    Hello Everybody,

    I am performing fuzzy match on 2 tables, one of 12000 rows, the other one with 18000. I match 4 colums into each tab (street, zip, city and name of a prospect).

    My problem is that my 12GB server is too slow at performing this. After 6h running, Excel frizz.

    Any idea on how to handle that?

    Thanks a lot,


  23. John Davenport says:


    I had the samee problem matching two address files. It was caused by an unrecognised charecter in the data whci was the = sign. Clean the databases and the problem goes away

  24. Rich Lopez says:

    Can you point me to a White Paper that describes the logic used by this Fuzzy Lookup Add-In

  25. N.Rajan says:


    Am new to the Fuzzy Lookup functionality. I tested it out on small tables and it seems to work fine. However when I tried applying it to my work where I need to compare a text string (paragraph of more than 1000 words) with a list of other such big paragraphs (say 1000 of them), the tool seems to hang. Does the add-in have such a limitation?

  26. JNFoo says:

    Hi all,

    I got it working using the setup file instead of the msi file.  Please note I have only excel 2007 (not 2010).  The installation downloaded some extra files from microsoft to make it work and work it did.  

    For those who had trouble getting the GO button to do anything, make sure your current cell is selected where you want the results to go.  I used the format suggested by the helpful pdf file that comes with it and put the current cell a few rows below one of my tables used in the matching.

    I've only used it for a quick project and the results were almost perfect… good luck!


  27. Jan says:


    I installed the Fuzzy Lookup Add-in, and it works great.

    But I am trying to solve a bit different problem than described in sample file Portfolio.xlsx.

    I would like to fuzzy compare two texts in each row:

    I have two different tables – let say table A and table B. But I don’t want to compare the first row from A to all rows of B, but just the first row of A to first row of B. And then do the same for all other rows. I can’t find a way to use this this Add-in in this way…

    I found some examples how to that with a custom macro but they do not seem robust enough unlike the Fuzzy Lookup Add-in.

    What I would like to know is, if there is any possibility to do what I need using Fuzzy Lookup Add-in? Can it be customized this way via Configure option? Any suggestions?

    Thank you for your answer.



  28. JoH says:

    No results are inserted when I press the "Go" button. Do you have any idea what could be wrong?

    Office Standard 14.0.6112.5000 64-bit German

    Windows 7 Professional, 64-bit German

  29. JoH says:

    The problem I reported earlier has been resolved after uninstalling the add-in and installing it again.

    If you face the same problem, uninstall the add-in Thenand install it again by running setup.exe. Do not run the .msi file.

  30. Ali Kazim says:


    First of all, I must appreciate smart people at MS who produced this add-in. It's really great add-in and can save hours data cleansing. I've got to report two issues:

    1) After comparing for few times… it stops responding that is, when I press 'go' nothing happens. Based upon the recommendation, I've uninstalled it and then installed it using the setup file. It worked for some time, but it stopped working again. Is it due to some bug in the code?

    I've noticed just before it stopped working, it started giving me peculiar results i.e. two not so same items are returned with very high similarity rating.

    I can certainly try uninstalling and installing again… and it might work… but I was just wondering if there is a way to avoid this hassle all together.

    2) Secondly, when matching rows in the left and right table, I would like the tool to use the row in the right table once… that is once it has been matched (to the best possible) with a row on the left, it shouldnt be reused and appear again infront of another left row. E.g:

    Left                Right

    AA                   A A

    AAA                  AA

    Combined table after Fuzzy Lookup…

    AA     AA

    AAA    A A (or may be blank)

    I would really appreciate if any of the fine gentlemen here could answer my queries.


    Ali Kazim

    MS Office Professional Plus 2010

    MS Excel 2010 (14.0.6129.5000) 32-bit

    MS Windows 7 Professional – 64 bits

    Dell i7 1.73GHz, 8GB

  31. Mercy Joseph says:

    Hi –

    I am trying to run the Fuzzy Lookup Addin – and I am not sure if its running or hung up in some sort of a loop; how long is reasonable to wait? its been 1 hour or so now…

    • it has the spinning double-banded circle which seems to say its running, but the Excel file Name tab at the top says "Not responding"
    • I am running on a 64-bit Windows 7 system with Excel 2010

    I have a table of ~163 rows which I'm trying to match names from a larger table of ~384 rows – in the big scheme of things this should be a small job,

    • I tried to do a simpler match of some 2-letter codes many of which were missing in both tables, but the non-missing ones would be easy to match and a simple vlookup would take no more than 30 secs – even that seems to take the fuzzy addin forever – not sure if its hanging up, working, or not working (so if additional development is planned for this add-in the first might be to communicate better with the user – tell them what its doing…
  32. Pia says:


    I installed de addin al ok, but de vlookup and hlookup traditional functions desappeared from my function list.

    Any idea?

  33. fasterlower says:


    Downloaded the fuzzy lookup addon from here : http://www.microsoft.com/…/details.aspx

    It installs fine and i can start the lookup with the addon.

    After 7 rows of data the lookup always ends with this, this happens also in the example provided with the Fuzzy download.

    Tried another PC with Win8 and Excel2013 and same results.

    Unable to set the NumberFormat property of the Range class

      at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)

      at CallSite.Target(Closure , CallSite , ComObject , String )

      at CallSite.Target(Closure , CallSite , Object , String )

      at FuzzyLookupAddInForExcel.FuzzyJoinControl.MoveNextRow(Int32 outputBatchSize, Int32 r0, Int32 c0, Int32& r, Int32 similarityColumnIndex, Int32 similarityXmlColumnIndex, Int32 outputColumnCount, Worksheet activeWorksheet, Range& outputRange, Array& outputArray, Int32& outputRowCount)

      at FuzzyLookupAddInForExcel.FuzzyJoinControl.FuzzyJoin(Worksheet worksheet)

    Any idea how to make it work?

  34. Nathan L says:

    Does anyone know how to install this Add-In into a terminal server/Citrix environment? The installation only sets it up for the user who runs the setup file.

    I've tried installing (in Install Mode) it into a common location (c:program files..) and also added appropriate registry entries under HKLMSoftwareMicrosoftOfficeExcelAddins however it does not load. I suspect here are further registry entries in the HKCU…

    Any help would be greatly appreciated!

  35. Sai says:

    Hello folks,

    I have installed fuzzy look up by using  set up file but the 'Go' button doesn't do anything. I uninstalled and re-installed it twice but still it does not work. I am using Excel professional  plus 2010. Thanks.

  36. David O'Connor says:

    We're using the Fuzzy Lookup tool but it seems to be ignoring our regional settings for dates. We're based in the UK so our date format is dd/MM/yyyy but some dates are being returned in the results in US format MM/dd/yyyy.

    e.g. 10th March 2013 should be shown as 10/03/2013 but is returned as 03/10/2013 so is read as 3rd October 2013.

    Is there anyway for us to change the format of the results set? It didn't seem to work just changing the cell format as it appears to return a string value rather than a date value.

  37. dan says:

    I am having a similar issue to the comments above where fuzzy lookup after pressing go just spins for a while then crashes excel. It was working when I first DL'd it about a month ago. Now I cannot get it to work at all.

    I uninstalled and reinstalled using the setup.exe.

    I am using excel 2013.

    I have not seen an answer to any further issues beyond uninstalling and reinstalling.

    Please help as I used this a few weeks ago with fantastic results, and now it inexplicably does not work.


  38. G says:


    I´m having the same problem as fasterlower above.


    It installs fine and i can start the lookup with the addon.

    After 7 rows of data the lookup always ends with this, this happens also in the example provided with the Fuzzy download.

    Tried another PC with Win8 and Excel2013 and same results.

    Unable to set the NumberFormat property of the Range class

     at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)

     at CallSite.Target(Closure , CallSite , ComObject , String )

     at CallSite.Target(Closure , CallSite , Object , String )

     at FuzzyLookupAddInForExcel.FuzzyJoinControl.MoveNextRow(Int32 outputBatchSize, Int32 r0, Int32 c0, Int32& r, Int32 similarityColumnIndex, Int32 similarityXmlColumnIndex, Int32 outputColumnCount, Worksheet activeWorksheet, Range& outputRange, Array& outputArray, Int32& outputRowCount)

     at FuzzyLookupAddInForExcel.FuzzyJoinControl.FuzzyJoin(Worksheet worksheet)

    Any idea how to make it work?

  39. Raj Kiran says:

    Do we have any documentation for the Fuzzy Lookup which speaks about the features, limitations or the performance issues.

  40. AntonioA says:

    The "Unable to set the NumberFormat property of the Range class" issue seems to disappear when changing the regional settings of the computer to English (United States). It looks like this tool needs some debugging…

  41. G says:


    Thanks! You solved my problem.

    Both region and format needs to be english (US).

  42. Wojtek says:

    Hi there,

    I noticed that Fuzzy Lookup doesn't distinquish accents, e.g. similarity for Dom Perignon and Dom Pérignon is 1, while the difference is in letter "é". Is it possible to enable this functionality?

    Thank you

  43. Matthias says:

    Fuzzy Lookup installer is corrupt: http://www.microsoft.com/…/confirmation.aspx

    MSFT, can you please check your download file!

    Thank you


  44. Mark Glasgow says:

    Just downloaded this tool and read the license, it says the "The term of this agreement is until 30/07/2014 (day/month/year), or commercial release of the software, whichever is first", is this going to be extended or a commercial version of the tool made available?

  45. Jagdev Singh says:

    Hi Kris

    I have a small query regarding the Microsoft Fuzzy Look-up Add-in for Excel. Is it possible to perfrom a duplicate search function with this Add-in on a Single column.

    To explain it in depth say I have 2 same entries in a column, but they are partically matched with eachother. Ex ABC Company LTD and Company ABC LTD. How can I find both the entries in column with this add-in.



  46. Donavon says:

    I have downloaded the fuzzy lookup add-in on 3 different machines and i've received the same "Not loaded.  A runtime error occurred during the loading of the COM Add-in." error every time.  Any suggestions on how to get around this?  I've confirmed that it is not on the disabled items list.


  47. Anne Todd says:

    Cant get the fuzzy add-in tab to show up in ribbon:

    I have excel 2010 and downloded the Fuzzy Lookup Add-in. When opened excel,I went to options, Com add-ins, I saw fuzzy Lookup as a choice, and ticked the box. Then I rebooted and the fuzzy lookup tab was still not visible. When i checked the options again the add-in was un-ticked. Finally got a message "not valid Office program"….. any help/suggestions out there?

  48. Anne todd says:

    You have to first install Visual Studio 2010 Tools (using Link below) before Fuzzy will install properly


  49. Jeff ze french says:

    Hi everyboy,

    I had an issue with Fuzzy Lookup Add-In. When I installed the product, it simply did not load and I had a COM addin error.

    I managed to fix it as following.

    When you install the product at the licence agreement step, click "advanced" button and choose "install for all users" instead of "only for me". I don't know why but it worked in my case. Hope it will help.


  50. doublew says:

    Great add-in that solves a very real problem. I have a question/suggestion – is there a quick way to uncheck all of the output columns in one go? I have a table with a large number of columns and I only want 2 or 3 of them in my output. It is taking a very long time to manually uncheck all of the options I don't want.

  51. doublew says:

    Also does anybody have any more detailed instructions on how to perform a search for duplicates within a single column? The instructions in the README simply say "Note that Fuzzy Lookup can also be used to identify matches in a single table by setting the left and right tables to be the same." However this is not giving me the results as expected. It appears to list every entry in the column whether there is a duplicate or not (matching a record to itself perhaps?)

  52. Marissa C says:

    I get different results from the same data set when I run with a Similarity threshold of 0 and .75.

    Something that should be an obvious match shows up with a .9 similarity threshold when I run it at 0, but shows up with a 0 similarity threshold when I run at .75.

    This is really concerning–I don't know if I can trust the tool anymore.

  53. Gabriel says:

    If I add an ExactMatch column, it returns non-exact matches.  What gives?

  54. Jacob says:

    Date colums seems to always output in US date format (mm-dd-YYYY) even though the input is in Euro dd-mm-YYYY. This cause subsequent errors.

    Is there a way to control the output date format (or simply let it follow the format from the input)?

  55. I've used the previous version so was keen to try 1.3 – especially the new Exact Match option.  However this still doesn't seem to force an exact match?

    My scenario is 2 input tables with 2 columns each – Company Code and Director Name. I want to exact match on Company Code and only consider fuzzy matches on Director Name when the Company Code matches exactly.  However it returns matches seemingly ignoring the Company Code?

  56. Alexei says:

    I also has that

    Unable to set the NumberFormat property of the Range class

    I switch Windows locale from Finnish to English in Reginoal settings and it started to work.

  57. Robin Barnwell says:

    Sounds good but the software never installs, lost half-day messing with it and had to give up.

  58. John says:

    I have two tables with two columns each I need to join. However I would get better results if I could specify that the first word in one table's first column should be specifically matched to the first word in the other table's first column, although the spelling might be inexact.  I can post-filter my results, but that would be less efficient.  How can I modify the XML to do this?

  59. Tina says:

    How to configure so that the greatest weight is assigned to a name that contains what I'm matching to?  Test case: WalMart.  If I try to find names in my DB matching that, I will get all sorts of variations of that name that are most similar in length.  However the exact string "WalMart" does exist in my DB in much longer names such as WalMart Store number 123, etc. If I change my test case to "WalMart store" then all those names come back.  Which configuration setting(s) can help me control this so that I can get those names back by only looking for "WalMart"?

  60. Michael May says:

    I am attempting to run some code to check if the add-in is installed and available but I can't seem to find the correct text that the VBA code can check on.

    Can anyone help with this?


  61. Michael May says:

    When using in 2013 I am sometimes getting an error – Exception of type 'System.OutofMemoryException' was thrown.

    The 2 datasets I am tryign to match are 115k & 7k long.


  62. Jonas Sørensen says:

    Hello from the Dane working in Norway …

    I'm getting a message box, which states the following: "Cannot specify the NumberFormatLocal – property for the Range-class." I'm using Excel 2010 with Norwegian language setting and all the differences, which comes with the European edition of Excel.

    What does it mean and how do I get the fuzzy lookup running?

  63. Maria says:

    I downloaded Fuzzy lookup today and it is not working. The download and intall went fine but when I click to open excel the plug in is working. In fact, I do not get the tab on excel. I am using excel 2010. Any pointers will help.

  64. Maria says:

    the solution to my issue was a different program needed to be installed for hte fuzzy lookup to work. this is the program:

    http://www.microsoft.com/…/details.aspx  (VSTO)

    Install fuzzy lookup and then this VSTO. Once you have both downloaded, open excel. You "should" (hopefully) see the fuzzy tab.

  65. Jacob says:

    In this add-in’s demo worksheet;

    When I use Portfolio as the Left Table and SP-500 as the Right Table it finds all available matches,

    When I use SP-500 as the Left Table and Portfolio as the Right Table it does not find all available matches,

    Why does this happen?

    Please can you advise me on this issue, why it occurs, how to fix it or how to avoid it?

  66. Bodo says:


    is it possible to use Fuzzy Lookup functionality within a VBA code module of an MS Access database by adding a reference to Fuzzy Lookup DLLs?



  67. Scott says:

    Anyone know the product code i could use to uninstall it?

  68. Nicholas says:

    Is it possible to save the Configuration settings – opening excel resets defaults.

  69. Paul Wheatley says:

    I am trying to run Fuzzy Lookup against two tables to match inexact names, however I keep getting the error message, "Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"

    I have no idea what the error is indicating or how to fix it and I cannot find any user manuals covering Fuzzy Lookup detailed troubleshooting. Any help would be greatly appreciated. Thank you.

  70. Fuzzy Lookup Error on Go says:

    After converting two groups of data into tables, setting up the Fuzzy Lookup parameters, and hitting "Go", I get the error, "Indes was out of range. Must be non-negative and less than the size of the collection. Parameter name:index."

    I have no idea what the error is referring to or how to fix the error and get an answer.

    Any help would be highly appreciated.


  71. Oliver says:

    Hi from Germany 🙂

    The license terms contain the following sentence:

    "You may not test the software in a live operating environment unless Microsoft permits you to do so under another agreement."

    Am I restricted in the use of this tool at my PC at work? Is my PC at work a live operating environment???

    Can someone please explain the meaning of this sentence in different words?



  72. Raul says:

    Hi, to match between "prizes" fields it would be interesting to have a numerical algorithm, which does not interpret as a possible match $27.01 as $72.10 but $27.10 or 26.90 (+/- % margin).

    Any idea to implement this?

    Thanks in advance!


  73. Please release this as open source says:

    It seems clear from the continual stream of posts to this page that this component is useful but has some frustrations. The updates over the years from Microsoft are sporadic and have done little beyond extending the license.

    Given all of that, I really wish Microsoft would release the source code for this e.g. as a github project.  That way we could contribute to fixes and improvements to make the most of all the hard work that has gone in to this component to date.

  74. Alexis says:

    Are there instructions on using it on one table to find fuzzy duplicates?  It works great for joining tow tables, but I can't figure out how to use it to find duplicates in one table.


  75. Paul says:

    I am running Excel 2013 and installed the fuzzy lookup add-in.  I have 2 tables.  I start the fuzzy lookup add-in and it loads up fine on the right hand side of the screen.  It never finds and tables to put in the left and right table box.  What am I doing wrong?  Is it the software?  Please help!


  76. Preston says:

    I just downloaded this add-in on Office 2016 on a machine running Windows 10. Everything seemed to go fine with the download, but when I ran the fuzzy lookup in the Portfolio sample file, it said,

    "A column with name 'Company' was not found in the schema table."

    I looked at both tables, though, and both of them do indeed have a column name "Company," which I am using for my left and right columns.

    Any ideas?

  77. Regina says:

    Seems nobody is able to answer any of the queries.

  78. Eric says:


    I have an issue with MS Fuzzy lookup, I cannot see it in the excel ribbon: in fact Excel cannot load the com Addin

    Error message is not loaded. a runtime error occurred during the loading of the com add-in.

    I have Excel 2010 32bits, (windows 7 enterprise 64 bits)