Excel中是否有函数可比对相似(非完全一致)单元格并输出是/否?
无需VBA的Excel公司名称匹配方案
方法1:核心关键词互验法
针对你遇到的核心名称一致但后缀/格式混乱的情况,用大小写统一+关键词互查最省心:
- 直接用这个公式(假设公司名分别在A2和B2单元格,下拉可批量应用):
注:如果名称里没有空格,把公式里的=IF(AND(ISNUMBER(SEARCH(LEFT(LOWER(A2),FIND(" ",LOWER(A2))),LOWER(B2))),ISNUMBER(SEARCH(LEFT(LOWER(B2),FIND(" ",LOWER(B2))),LOWER(A2)))),"是","否")FIND(" ",...)替换成LEN(A2),确保取到完整核心词。
方法2:字符匹配占比判定法
如果需要更严谨的匹配占比判断,先清理名称里的标点符号,再计算共同字符占比:
- 这个公式会自动去掉逗号、句号,转小写后计算共同字符数占较短名称的比例,超过60%就返回“是”(0.6这个阈值可以根据你的需求调整):
注:Excel 365及以上版本直接回车即可;旧版本可以把=LET( cleanA, LOWER(SUBSTITUTE(SUBSTITUTE(A2,",",""),".","")), cleanB, LOWER(SUBSTITUTE(SUBSTITUTE(B2,",",""),".","")), lenA, LEN(cleanA), lenB, LEN(cleanB), common, SUM(--(MID(cleanA,ROW(INDIRECT("1:"&lenA)),1)=MID(cleanB,ROW(INDIRECT("1:"&lenB)),1))), IF(common/MIN(lenA,lenB)>0.6,"是","否") )LET里的中间值拆到单独单元格计算(比如C2放cleanA,D2放cleanB),再写最终判断公式。
方法3:批量模糊筛选(无需公式)
如果不想写公式,用Excel自带的高级筛选批量标记匹配项:
- 整理好两列待匹配的公司名称,比如A列是源名称,B列是待校验名称
- 在空白单元格输入核心关键词,比如
*Blackrock* - 选中B列,点击「数据」选项卡→「高级」,勾选“将筛选结果复制到其他位置”,条件区域选择刚才输入关键词的单元格
- 筛选出的行即为匹配项,直接在旁边列批量输入“是”即可
内容的提问来源于stack exchange,提问作者josephnumbers
相关产品推荐
相关产品推荐

