2013-02-11 63 views
4

我想您在列多少字符串一个大致匹配B列的字符串Excel的近似文本匹配

例子:

如果我在B列字符串“angry_birds_iph_app”,并“angry_birds_iph_app”和“angry_birds_adrd_app”出现在列A的某处,我希望函数返回2.

+1

...你必须要更具体的了解你的意思是“近似匹配”是什么 - 唯一的区别只能是“iph”“adrd”吗?他们总是会有同样的开始?等等...... – 2013-02-11 22:14:56

+0

不,他们并不总是有同样的开始。我的意思是近似匹配意味着> 60%左右的字符串匹配。它可以是B列中的facebook_iph_app,并且列A中出现facebook_web,facebook_adrd_app和facebook_app。在这种情况下,该函数将返回3 @JohnBus​​tos – 2013-02-11 22:30:36

+1

也许某些事情像http://stackoverflow.com/questions/4243036/levenshtein距离d功能于Excel中 – 2013-02-12 01:40:26

回答

7

查看Excel模糊查找加载项。它可以免费从微软下载。该工具实现了Levenshtein编辑距离算法以返回行之间的相似度分数。在其他可自定义的功能中,该工具还允许您设置阈值,以确定值的匹配程度,以便返回近似结果。

而不是像你提到的那样返回计数,该工具将返回一个表格,列A中与列B中每个条目最相似的匹配。从那里你可以简单地使用一个过滤器并对结果进行计数柱。

http://www.microsoft.com/en-us/download/details.aspx?id=15011

3

除了Excel Fuzzy lookup插件,还有一个外接(也是免费下载)提供了几个功能,可能会有帮助。一个是pwrVLOOKUP并提供模糊查找功能。另一个是pwrSIMILARITY,它会给你一个相似性分数(介于0和1之间),从中你可以在你的工作表中找到你的匹配。该PowerUps外接为Excel在Excel 2003工作通2013年

一个例子是贴在页面在这里: Example Demo