对账名称不一样呼和也办法

对账的时候最怕名称不一样,左边是全称,右边是简称,现在要根据简称查找引用全称。

对账名称不一样呼和也办法

最原始的做法就是简称前后加通配符,再进行VLOOKUP。这种只针对连续字符相同的有效,如果出现北京大学、北大这种不连续的就无法查找。

=VLOOKUP("*"&D2&"*",A:A,1,0)

对账名称不一样呼和也办法

第1次改善,将简称的每个字符用MID单独提取出来,再用&合并起来,并用通配符*隔开。

="*"&MID(D2,1,1)&"*"&MID(D2,2,1)&"*"

对账名称不一样呼和也办法

这样即使不连续也不影响查找。

=VLOOKUP(F2,A:A,1,0)

对账名称不一样呼和也办法

这种方法虽好,但只局限性简称字符少的,如果有7-8个字,用&和MID写公式会超级繁琐。因此,第2次改善来了,用TEXTJOIN+MID。

先用MID的数组方式,将字符全部拆分开。

=MID(D2,ROW($1:$9),1)

对账名称不一样呼和也办法

TEXTJOIN可以合并内容,并添加分隔符号*。

=TEXTJOIN("*",1,MID(D2,ROW($1:$9),1))

对账名称不一样呼和也办法

前后再用&连接通配符*。

="*"&TEXTJOIN("*",1,MID(D2,ROW($1:$9),1))&"*"

对账名称不一样呼和也办法

直到最近,第3次改善来了,公式超简洁。

=REGEXP(D2,"",2,"*")

对账名称不一样呼和也办法

第三参数为2的时候,代表替换。正如效果那样,替换完就相当于每个字连接通配符*。

对账名称不一样呼和也办法

最终公式来了,每次改善其实都可以不借助辅助列,一步到位。

  • 第1次:

=VLOOKUP("*"&MID(D2,1,1)&"*"&MID(D2,2,1)&"*",A:A,1,0)

  • 第2次:

=VLOOKUP("*"&TEXTJOIN("*",1,MID(D2,ROW($1:$9),1))&"*",A:A,1,0)

  • 第3次:

=VLOOKUP(REGEXP(D2,"",2,"*"),A:A,1,0)

也许公式的新时代已经来了,别再死守着传统公式了。

原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/186758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
简单一点的头像简单一点
上一篇 2024-11-27 05:48
下一篇 2024-11-27 05:57

相关推荐

发表回复

登录后才能评论