Excel如何把B列中包含A列的相同字符显示在C列
这个案例是匹配查找的新高度,不仅要匹配上,还要把匹配的数据专门“拎”出来,职场中不乏这样的需求,职场人士赶紧学起来。本例表格如图3-187所示。
图3-187
这是一个典型的查找近似线索,模糊匹配的案例,第一反应一定会用到查找函数FIND,数据匹配自然会想到VLOOKUP或LOOKUP函数,那么赶紧来试试利用LOOKUP+FIND的超级组合函数能不能搞定这类问题。
操作
在目标单元格中录入公式,如图3-188所示。
图3-188
是不是很快就批量解决这个问题了?但相信有人会有疑问,为什么LOOKUP的第一个参数是0?为什么FIND函数前面带个减号?为什么FIND函数的第一个参数是个区域,而不是单独的查找文本?如果能把这些问题搞清楚也就真正掌握这两个函数的搭配使用技巧了。事实上这两个函数的这种组合,其实就是一个“偏方”解决法。
先来搞清楚,为什么会想到查找0?因为LOOKUP函数实现原理如下:
如果LOOKUP函数找不到 LOOKUP_value(0),则该函数会与 LOOKUP_vector(产品列)中小于或等于LOOKUP_value(公司简称列,即B列)的最大值进行匹配。所以你需要做的事情就是,在产品列中只要让包含公司名称的产品产生对应负数区域即可。向下拖曳D列公式的时候产品列的负数区域是动态变化的,才能实现批量的对应关系。
所以这个时候FIND函数出场,FIND函数的默认用法是这样的,比如要查找“微”字在C3单元格中的位置,输入函数=-FIND("微",C3),由于“微”字在第三位,所以返回3,如果加入负数,就是-3,所以很像前面得到的那种负数效果。但仔细想会有问题,这个“微”字是要匹配微软,怎么匹配到微信了?也就是用FIND正常的用法绝对是行不通的。这里要用到FIND的另外一种用法,即通过-FIND(B$3:B$5,C3)同时查找多个字,然后逐个返回字的个数,这样找到的就是数字,找不到就报错,相当于单元格为空。
总结: 不知道大家能不能看懂这几句解释,如果实在不懂,就要多尝试操作练习,慢慢体会其中的含义。但一定要记住FIND+LOOKUP函数的组合使用可以得到意想不到的结果,所以请记住这个“固定”搭配吧!