VLOOKUP提取最大值
原创作者 | 李锐
微信公众号 | Excel函数与公式(ID:ExcelLiRui)
个人微信号 | (ID:ExcelLiRui520)
VLOOKUP提取最大值
最近连续发了不少关于VLOOKUP的教程,有从右向左逆向查找的,也有从上向下顺序查找的,还有从下向上倒序查找的......
有同学提问,如果查找数据时没有固定的方向规律,但要提取符合条件的数据中的最大值,有没有办法呢?
方法肯定是有的,只要是有规律的问题,都可以批量处理,只要找到方法就行。
今天要讲的就是查找符合要求的数据并提取最大值的技术,看完觉得好的,记得去底部点个好看再分享给朋友,我会根据大家的反馈调整发文内容及写法。
问题描述
下图左侧是原始数据,放置的是投球选手多次投掷距离的数据,投手每次投掷的距离不等,大小没有任何规律,既不是从小到大,也不是从大到小。
要求在右侧按照要求查询的选手,查找其投掷的最远距离。
实质上这个问题就是要求两层查找,第一层按选手名称筛选符合条件的投球距离,第二层从这些距离中提取最大值,这应该怎么做呢?
为了让大家清晰案例效果,可以先看下面的效果演示,自己思考一下。
效果演示
下图是我做好公式以后的效果演示,便于你理解案例要求和捋顺思路。
右侧黄色公式区域,根据要求查询的选手,自动把最远距离返回到单元格。
为了方便你快速查看结果,我在报表里加入了可视化自动突出显示目标结果,查询条件变更后,左侧数据源中的该选手所在行都会黄色填充,其中最远距离所在行加粗红色显示。(这种数据可视化技术在四期特训营专门有一章精讲过)
下图是写好公式以后的演示效果
(下图为gif动图演示)
从上面的动图演示可见,无论选择哪位选手查询,公式都可以很智能的把你想要的结果查找出来。
在看下面的解决方案之前,请你先独立思考,带着思路和问题继续向下看。
解决方案
思路提示:解决这个问题的关键点,是筛选数据+提取最大值。
这里我们不用VLOOKUP,换个简洁的思路搞定。
H2单元格输入如下数组公式,按ctrl+shift+enter三键输入:
=MAX((C2:C13=G2)*E2:E13)
如下图所示。
(下图为公式示意图)
一句话解析:
公式中的(C2:C13=G2)用于条件判断,返回由逻辑值组成的数组和E2:E13相乘,目的是得到符合条件的投手的投掷距离,再用MAX提取其中的最大值。
这里用到了数组多项计算,所以数组公式不能直接Enter回车,而要同时按下ctrl+shift+enter三键输入,关于数组公式和内存数组的系统讲解在函数中级班。