excel 比VLOOKUP好用10倍,你却只会用MAX求最大值?
时间:2022-04-04 14:00:42
相信在座的小伙伴都知道MAX函数,一般我们只用它来求最大值,其他方面就不怎么使用它了。其实绝大部分小伙伴都不知道,MAX竟然还能充当查询函数使用,并且1个套路,就能搞定3个VLOOKUP不能解决的问题!听起来是不是挺不可思议,它不就是一个求最大值的函数吗?当真有这么厉害?跟着小编继续往下看就知道了!
大家都知道VLOOKUP可以按给定的内容去匹配到我们所需的数据,正因为如此,它在函数界有了很大的名气。但是今天要分享的这三个示例,如果使用VLOOKUP去匹配数据的话,就有些麻烦了(有兴趣的朋友可以自己试试),就在VLOOKUP头疼不已的时候,MAX函数二话不说,只用了一个套路就把三个问题都给解决了。
可能有些小伙伴会好奇,MAX不是求最大值的函数么,它怎么能够解决VLOOKUP都搞不定的问题呢?还有这个套路又是什么呢?一起往下看看就明白了……
1.在业务明细表中找出每个经销商最近一次的业务日期
为了便于理解问题,数据源只保留了经销商和业务日期两列数据,现在需要得到每个经销商最近一次发生业务的日期。(提示:数据源中的业务日期是升序排列的。)
不知道使用VLOOKUP该怎么解决问题呢?MAX使出的套路是这样的:
=MAX(($A$2:$A$18=D2)*$B$2:$B$18)
录入方法请看动画演示:
注意这个公式在输入后要同时按住Ctrl和Shift键再回车,公式会自动出现大括号。如何理解这个公式是大家最关心的问题,其实原理很简单,首先做一个比较,看看A列有哪些数据和我们需要判断的供货商一致,也就是$A$2:$A$18=$D2这部分的作用。在编辑栏选中这部分公式,按下F9键就能看到公式的计算结果。
可以看到公式的结果是一组逻辑值,当A列的内容与所要匹配的经销商一致时得到TRUE,不一致则为FALSE。接下来就是用这一组逻辑值与B列的业务日期做乘法(Excel中的日期的本质上是数字哦),TRUE在进行运算时与数字1相同,FALSE在进行运算时与数字0相同,因此计算结果是这样的。
在得到的这组数字中,0表示没有匹配到对应的经销商时返回的值,而不为0的这些数字表示匹配到对应的经销商后返回的业务日期。其中最大的那个值就是最近的一次日期,因此MAX就能轻而易举的得到最终结果。如果你做出来的结果不是日期而是数字的话,把单元格格式改成日期格式就没问题了。
2.按照工号或姓名得到对应的奖金
通常在进行数据匹配时,是用一个固定的条件进行查找。而在这个例子中,我们的条件是二者之一。
不管是工号还是姓名,都可以得到对应的奖金。不知道VLOOKUP该如何解决这个问题呢?反正MAX还是一样的套路:
=MAX(($A$2:$B$13=E2)*$C$2:$C$13)
公式的录入方法和原理不再赘述,与示例1完全一样,再来看看示例3。
3.按照姓名找到对应的分组代码
每一组有四名组员,按照组员姓名找到所属分组的代码。
如果说前两个例子VLOOKUP还想挣扎着折腾一下的话,这个例子直接就能让VLOOKUP找不到北了。MAX还是沿用了老套路:
=MAX(($B$2:$E$4=A7)*$A$2:$A$4)
怎么样,MAX函数的这个套路是不是很强!
要使用这个套路需要注意以下两点:
1.查找结果为数字;
2.注意判断条件的区域与结果所在区域的选取一定要准确,并且要进行锁定。
excel 比VLOOKUP好用10倍,你却只会用MAX求最大值?的下载地址: