如何在Excel中找到错别字的文本之间的匹配?

dnph8jn4  于 2023-06-25  发布在  其他
关注(0)|答案(2)|浏览(174)

我有两列数据,上面有一百个名字,我需要找到匹配的。
问题是当第二列上的名称与第一列上的名称不完全相同时。很难用一百个名字来匹配它们。
Excel中是否有任何公式至少给予数据的公差,如“Setyadi”与“Setiadi”,或“Tak Jelan”与“Tak Lejan”。
谢谢你的解决方案,它的工作,我编辑了这个,因为我想问更多,
我还有一个问题,你能再帮我一次吗?我有一个这样的数据,我想用一个数字填充C列,根据D列中的名字与A列的匹配。另一个问题是,我想匹配的名字,只有在一个组中提到的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列耦合的数字。
先谢谢你了

fdbelqdn

fdbelqdn1#

你可以使用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函数的代码会像这样返回。
现在,当你看德杰兰条目时,你会发现有一个3的差异(从T245到T242)。现在,我要做的是创建一个新的公式,如果第一个字母是相同的,那么只提取数字,并比较它们的接近程度:
=IF(LEFT(C1,1)=LEFT(D1,1),STDEV.P(MID(C1,2,3),MID(D1,2,3)))
然后可以比较标准偏差。

ztyzrc3y

ztyzrc3y2#

不幸的是,这个答案中的链接都不再起作用了。SOUNDEX函数的VBA代码可在此处找到:https://www.mrexcel.com/board/threads/vba-implementation-of-metaphone-algorithm.252698/

相关问题