如何比较字符在 excel 中的显示顺序?

How can I compare the order in which characters appear in excel?

提问人:Ne Mo 提问时间:10/27/2023 更新时间:10/27/2023 访问量:28

问:

问题 - 我想根据字母出现的顺序来决定两个字符串的相似程度。

例如,比较字符串“Paul”和“JoPaul”。与 Paul 相比,JoPau 多了 2 个字符和 1 个缺失字符,并且匹配的字符位置不同(例如 P 是 Paul 中的第一个字符,但 JoPau 中的第三个字符,a 是第 2 个字符和第 4 个字符,依此类推。

但是,JoPau 与 Paul 更相似,而不是字符串 JPuao。在 JoPau 中,a 跟在 P 后面,u 跟在 a 后面,就像 Paul 中一样。但是,在 JPuao 中,没有一个字符后面跟着“正确”字符。

我目前的尝试:

=LET(origname,$A$1,origchars,MID(origname,SEQUENCE(LEN(origname)),1),fuzzchars,MID(Table1[@Fuzzstring],SEQUENCE(LEN(Table1[@Fuzzstring])),1),sortorigchars,SORT(origchars),goodchars,FILTER(fuzzchars,ISNUMBER(SEARCH(fuzzchars,origname))),goodpos,SEARCH(goodchars,Table1[@Fuzzstring]),sortfuzzchars,SORT(fuzzchars),origpos,SEARCH(origchars,origname),nextorigchar,FILTER(MID(origname,origpos+1,1),LEN(MID(origname,origpos+1,1))>0),nextfuzzchar,FILTER(MID(Table1[@Fuzzstring],goodpos+1,1),LEN(MID(Table1[@Fuzzstring],goodpos+1,1))),nextfuzzchar=nextorigchar)

如果缺少一个好角色,则此操作不起作用。

任何帮助都表示赞赏。

公式 序列 字符串匹配 excel-365

评论

1赞 JNevill 10/27/2023
在我看来,Levenshtein 距离是你试图重新发明的轮子。我想人们写的相当多的 VBA UDF 可能会吐出两个单词的编辑距离。
1赞 P.b 10/27/2023
Power Query具有模糊匹配选项:support.microsoft.com/en-us/office/...否则,有可用于模糊查找的插件 microsoft.com/en-us/download/details.aspx?id=15011

答: 暂无答案