您好,欢迎访问一九零五行业门户网

Excel函数学习之查询界的黑马——MAX()!

max不是求最大值的函数吗?什么时候成了“查询界的黑马”?还让vlookup都甘拜下风了?下面本篇文章就来带大家深入了解一下max的查询功能,希望对大家有所帮助!
大家都知道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. 注意判断条件的区域与结果所在区域的选取一定要准确,并且要进行锁定。
那么问题来了,如果要查找的结果不是数字呢?
这时候仅靠max就无法应付了,需要借助if或者其他函数才能满足需要,关于这方面的案例,我们以后再介绍。
相关学习推荐:excel教程
以上就是excel函数学习之查询界的黑马——max()!的详细内容。
其它类似信息

推荐信息