二维码 购物车
部落窝在线教育欢迎您!

查询界黑马——MAX,竟让查询之王VLOOKUP也甘拜下风?

 

作者:老菜鸟来源:部落窝教育发布时间:2019-07-16 14:18:54点击:5478

分享到:
0
收藏    收藏人气:1人
版权说明: 原创作品,禁止转载。

编按:

看到标题,小伙伴们可能会纳闷了,MAX不是求最大值的函数吗?什么时候成了“查询界的黑马”?还让VLOOKUP都甘拜下风了?面对小伙伴们的夺命三连问,小编自然也有自己的理由。在查询之王VLOOKUP面前,MAX用1个套路,就把3个VLOOKUP不能解决的问题全搞定了!听起来是不是挺不可思议的?但它就是这么厉害!还不相信?那就跟着小编继续往下看吧!

 

大家都知道VLOOKUP可以按给定的内容去匹配到我们所需的数据,正因为如此,它在函数界有了很大的名气。但是今天要分享的这三个示例,如果使用VLOOKUP去匹配数据的话,就有些麻烦了(有兴趣的朋友可以自己试试)。就在VLOOKUP头疼不已的时候,MAX函数二话不说,只用了一个套路就把三个问题都给解决了。

 

可能有些小伙伴会好奇,MAX不是求最大值的函数么,它怎么能够解决VLOOKUP都搞不定的问题呢?还有这个套路又是什么呢?一起往下看看就明白了……



 

示例1:在业务明细表中找出每个经销商最近一次的业务日期




为了便于理解问题,数据源只保留了经销商和业务日期两列数据,现在需要得到每个经销商最近一次发生业务的日期。(提示:数据源中的业务日期是升序排列的。)

 

 

不知道使用VLOOKUP该怎么解决问题呢?MAX使出的套路是这样的:


=MAX(($A$2:$A$18=D2)*$B$2:$B$18)


录入方法请看动画演示:


 

注意这个公式在输入后要同时按住CtrlShift键再回车,公式会自动出现大括号。

 

如何理解这个公式是大家最关心的问题,其实原理很简单,首先做一个比较,看看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或者其他函数才能满足需要,关于这方面的案例,我们以后再介绍。

 

本文配套的练习课件请加入QQ群:264539405下载。

Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

扫下方二维码关注公众号,可随时随地学习Excel

IMG_256

相关推荐:

SUMPRODUCT的妙用《加了*的 SUMPRODUCT函数无所不能

3种核对数据的方法三种常用的核对数据方法,到底哪一种才是你的菜?

VLOOKUP&LOOKUP《VLOOKUP&LOOKUP双雄战(五):野马崛起!