如何找到Excel中拼写错误的文本之间的匹配?

时间:2013-02-05 04:10:46

标签: excel

我有两列数据,上面有一百个名字,我需要找到匹配项。

问题是第二列上的名称与第一列的名称不完全相同。很难将它们与一百个名字相匹配。

excel中是否存在任何公式,至少可以使用“Setiadi”或“Tak Jelan”和“Tak Lejan”等数据来容忍数据。


感谢您的解决方案,它有效,我编辑了这个,因为我想问更多,

我还有另外一个问题,你能再帮我一次吗? 我有这样的数据,我想根据列D中的名称与列A匹配来填充C列。另一个问题是,我想匹配仅在E列中提到的组中的名称,甚至不在同一行。

    A       |  B  |  c  |     D       |  E   |
 Setyadi    |  1  |     |  Setiadi    |  11  |
Tak Jelan   |  2  |     | Tak Lejan   |  11  |
  Gordon    |  3  |     |   Herik     |  12  |
   Alex     |  4  |     |  Goerdon    |  12  |
   Heri     |  5  |     |   Alex      |  12  |

   A        |  B  |  c  |     D       |  E   |
Setyadi     |  1  |  1  |  Setiadi    |  11  |
Tak Jelan   |  2  |  2  | Tak Lejan   |  11  |
 Gordon     |  3  |  5  |   Herik     |  12  |
  Alex      |  4  |  3  |  Goerdon    |  12  |
  Heri      |  5  |  4  |   Alex      |  12  |

我需要的是,我们如何比较D列中提到的组中的名称,然后我们可以自动给出C列中从B列耦合的数字。

提前致谢

2 个答案:

答案 0 :(得分:4)

您可以使用John Walkenbach的SOUNDEX()函数:

http://spreadsheetpage.com/index.php/tip/searching_using_soundex_codes/

然后将代码放入Excel:

http://www.contextures.com/xlvba01.html

现在,如果您有这些数据:

A         | B        
Setyadi   | Setiadi  
Tak Jelan | Tak Lejan

现在你想在C1中添加一个公式,如:

=SOUNDEX(A1)

将该公式复制到C2,D1和D2。

现在看看你的数据:

A         | B         | SOUNDEX(ColumnA) | SOUNDEX(ColumnB)
Setyadi   | Setiadi   | S330             | S330
Tak Jelan | Tak Lejan | T245             | T242

请注意Setyadi和Setiadi是如何完全相同的,因为它们声音相同,这就是为什么SOUNDEX功能的代码会像这样回来。

现在,当您查看Tak Jelan条目时,您会发现存在3的差异(从T245到T242)。现在,我要做的是创建一个新公式,如果第一个字母是相同的,那么只取出数字并比较它们的接近程度:

=IF(LEFT(C1,1)=LEFT(D1,1),STDEV.P(MID(C1,2,3),MID(D1,2,3)))

然后你可以比较std偏差。

答案 1 :(得分:0)

Soundex最初是为人口普查数据开发的。原始基本功能的一个主要问题是忽略元音并且只检查一定数量的字符。例如,它通常会给出一个匹配:Renkin,Rankin,Rincon,Reinckens(我的姓),Renkens,Rincones,Rinkins,因为它们都有R-N-K-N声音,原版只比较前4个辅音。