2013-02-11 62 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