我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
这个是一个典型的查找近似线索,模糊匹配的案例,第一个反应一定会用到查找函数find,数据匹配自然会想到vlookup或lookup函数,那么我们赶紧来试试这个场景的问题如何解决?
为了方便理解,换成这样的场景,A列为公司简称,B列为产品,C列这是A列在B列存在的公司简称自动的匹配到C列。
利用lookup+find的超级组合函数就可以搞定这个问题。
具体看操作:
是不是很快就批量解决这个问题,但相信大家会有疑问,什么是lookup的第一个参数是0?为什么find函数前面带个减号,为什么find函数的第一个参数是个区域,而不是单独的查找文本。如果能把这些问题搞清除也是真正的掌握这两个函数的搭配使用。事实上这两个函数的这种组合,在牛闪闪看来就是一个“偏方”解决法。
我们先来搞清楚,为什么会想到查找0,因为lookup函数有个定理如下:
如果 LOOKUP 函数找不到 lookup_value(下图中的0),则该函数会与 lookup_vector (下图B列)中小于或等于 lookup_value(下图A列) 的最大值进行匹配。
上面这句话你可能看不懂,牛闪闪举个栗子,应该就能懂了。
发现了什么现象,查找0对应B列在A列对应的数据,匹配到C列。刚开始B列没有,所以C2单元格报错,但只要B列对应的数值小于查询值0,就会显示A列对应的公司。是不是这样!
所以你需要做的事情就是,在产品B列中,只要让包含公司名称的产品产生对应的负数区域即可。
也就是D1要得到腾讯,这B的区域一定是(B2空,B3负数,B4空)。D2要得到百度,则B列区域一定是(B2空,B3空,B4负数)。以此类推,你会发现如果手工去改,会导致D列所有的匹配都发生变化,这样就需要实现更强大的功能,D列公式进行向下拖拽的时候B列的负数的区域动态变化的,才能实现批量的对应关系。
所以这个时候find函数出场。Find函数的默认用法这样。=-FIND("微",C2)
比如要在“微”字在C2单元格中的位置,返回微字在第三个,所以B2单元格返回3,如果加入负数,就是-3,所以很像我们前面得到那种负数效果。但仔细想会有问题,这个微字是要匹配微软啊,怎么匹配到微信去了。所以用find正常的用法绝对是行不通的。
所以用到find的这种用法,-FIND($D$2:$D$4,A2) 同时查找多个字,然后进行逐个的返回字的个数,找的到就是数字,找不到就报错,相当于单元格空。
如果回到之前写好的公式,利用公式求值这个功能,就能理解了,你会发现B列的动态区域就是靠find函数产生的负数,正好对应公司简称。大家一定多操作仔细体会。
总结:Find+Lookup函数的使用绝对是两个函数的“超级偏方“组合才能得到结果,非一般的人物是绝对想不到的。所以大家请记住这个“固定“搭配吧。
相关文章
我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08