Google Sheets:如何从姓名列中返回与‘Giorge’最匹配的文本?
在Google Sheets里找最匹配的姓名
要是你想从A2:A4的姓名列表(George、Patrick、Charles)里,找出和Giorge最像的名字,用下面的方法就行:
方法1:用INDEX+MATCH搭配LEVENSHTEIN函数
LEVENSHTEIN函数能计算两个字符串的编辑距离,数值越小代表相似度越高。直接用这个公式:
=INDEX(A2:A4,MATCH(MIN(LEVENSHTEIN("Giorge",A2:A4)),LEVENSHTEIN("Giorge",A2:A4),0))
拆解一下逻辑:
LEVENSHTEIN("Giorge",A2:A4):计算Giorge和列表里每个名字的差异度,其中Giorge和George的差异度仅为1,其余名字的差异度远大于此MIN(...):找出所有差异度里的最小值MATCH(...):定位这个最小差异度对应的位置INDEX(...):根据位置返回对应的姓名
方法2:用FILTER+SORT搭配LEVENSHTEIN函数
如果需要先按相似度排序再取最匹配结果,用这个公式:
=INDEX(SORT(FILTER(A2:A4,A2:A4<>""),LEVENSHTEIN("Giorge",A2:A4),TRUE),1)
核心逻辑:
- 先筛选掉空单元格,确保只处理有效姓名
- 按差异度从小到大排序,相似度越高排得越靠前
- 取排序后的第一个结果,就是最匹配的姓名
注意:如果你的Google Sheets无法使用LEVENSHTEIN函数,需要先在「扩展程序」中添加「Advanced Google Services」并启用该函数。
内容的提问来源于stack exchange,提问作者fini-stair
相关产品推荐
相关产品推荐

