在Excel工作中,对于数据的信息查询是非常常见的。
如图中案例,现在有一个学生成绩数据,其中有很多个班级混在一起,现在如何自动提取每一个班级的第一名学生信息呢?
首先,我们来分析一下工作思路:
这里第一名的条件是“总分第一”,因此我们第一步要找出每一个班级的总分最高值。
由于是多个班级混合在一起,还要先筛选出符合条件的班级,可以先对A列进行条件判断,并将判断结果与总分相乘,这样符合条件判断的,就返回总分结果(因为符合条件,结果=1,1*总分还是总分);不符合条件判断的,就返回0(因为不符合条件,结果=0,0*总分就是0)。
然后,用large函数将这个数组结果中的最大值取出来,就是每一个班级的总分第一了,也就是获得了L列的值。
有了L列的值,我们再用lookup函数,根据班级(H列)及总分(L列)两个条件值,就能查询出对应的学生姓名,以及语文、数学的成绩了。
我们来看一下函数公式:
L2单元格的公式为
=LARGE(($A$2:$A$29=H2)*($E$2:$E$29),1)
将A列值与H2进行判断,等于H2的就返回1,错误的就返回0,再用1、0去乘以对应的总分,最后再用large函数去除最大的总分,也就是每个班级的总分第一。
由于公式要下拉填充,而公式里班级区域、总分区域都应该是固定的,因此要加上绝对引用。
有了H2、L2的值,我们用lookup函数的多条件查找用法,就可以轻松查出对应的学生姓名。
I2单元格公式为
=LOOKUP(1,0/(($A$2:$A$29=H2)*($E$2:$E$29=L2)),$B$2:$B$29)
1,0这部分是固定的,然后分母下面是两个条件相乘,代表两个条件要同时满足。当两个条件同时满足时,返回对应的B列值,也就是学生姓名。
为避免下拉填充出错,所以同样要将A列、E列、B列区域全部用绝对引用。
同理,只需要将函数公式末尾的返回值区域由B列改为C列、D列,就能查询到对应的语文、数学成绩。
最终,所有结果都自动查询成功了。
《Excel天天训练营》《Excel天天训练营》是加薪学院专为职场人士研发的excel课程,根据常见办公需求精选案例,从此办公不求人。
目前,课程2.0图文版本已升级完毕,体系更完整,讲解更到位,学员已突破1000人。课程分为三个篇章:第1章-提高效率(15节课)、第2章-精通函数(25节课)、第3章-美化图表(10节课),共50节内容。同时,课程2.0视频版正在更新中。
注意:购买课程之后,私信发送“333”,获取课程配套的excel案例文件,同步实操练习,学习效果更佳!另外,视频课程现已提供电脑端播放~
,