Excel快速搞定表格数据“模糊”匹配

VLOOKUP函数的条件模糊匹配是数据处理人员常见的难题,其关键就是把查找值进行一定的处理,把模糊数据变得不模糊。

如图3-111所示,可以发现表A的城市比表B的城市多了“测试”两个字。解决思路是想办法“提取”表A的城市名,也就是排除“测试”两个字,这里要求不能破坏表格结构,所以利用单元格拆分函数来搞定。

图3-111

步骤1:在C4单元格中输入公式=VLOOKUP(LEFT(B4,2),$E$4:$F$6,2,0),如图3-112所示。

图3-112

这个公式的重点在于LEFT函数,把B列的城市提取靠左2个字符,例如“天津测试”提取出“天津”,正好与表B的“天津”完全匹配,所以利用VLOOKUP函数的精确匹配搞定(最后的参数为0)。

在实际工作中可能会遇到城市名称的位数不一样的情况,这个问题该如何处理呢?直接用文本拆分函数就不行了,但发现“测试”两个字还是很有规律的位置,所以用单元格全部位数减去两位数,就得到了城市名称的位数。

步骤2:在C4单元格中输入公式=VLOOKUP(LEFT(B4,LEN(B4)-2),$E$4:$F$6,2,0),如图3-113所示。

图3-113

关键点在于LEN长度函数与LEFT函数的搭配使用,获得从左取减去“测试”两个字之后的位数,从而完美获取不同长度的城市名称。

如果不是统一的“测试”字符,但城市名称结尾都有一个“测”字,则用函数找到“测”字所在位数减去1位,不就是从左向右的城市名称位数了吗?

步骤3:在C4单元格中输入公式=VLOOKUP(LEFT(B4,FIND("测",B4)-1),$E$4:$F$6,2,0),如图3-114所示。

图3-114

这个公式的难点在于FIND函数,查找“测”字在单元格中的位数并减去1,正好就是LEFT函数从左向右取的城市名称位数。

总结: 只要能善于发现单元格中的内容规律,总有方法提取出想要的内容。当然,如果能“破坏”表的结构,利用辅助列的方法可以让上面的公式更方便理解,比如将B列想办法拆分成与E列一样的城市名称,也可以实现这样的效果。

(0)

相关推荐