分享

excel工作案例:如何自动提取每个班级第一名学生的信息?

 我的人生宝库 2020-05-10

在excel工作中,对于数据的信息查询是非常常见的。

excel工作案例:如何自动提取每个班级第一名学生的信息?

如图中案例,现在有一个学生成绩数据,其中有很多个班级混在一起,现在如何自动提取每一个班级的第一名学生信息呢?

首先,我们来分析一下工作思路:

这里第一名的条件是“总分第一”,因此我们第一步要找出每一个班级的总分最高值。

由于是多个班级混合在一起,还要先筛选出符合条件的班级,可以先对A列进行条件判断,并将判断结果与总分相乘,这样符合条件判断的,就返回总分结果(因为符合条件,结果=1,1*总分还是总分);不符合条件判断的,就返回0(因为不符合条件,结果=0,0*总分就是0)。

然后,用large函数将这个数组结果中的最大值取出来,就是每一个班级的总分第一了,也就是获得了L列的值。

有了L列的值,我们再用lookup函数,根据班级(H列)及总分(L列)两个条件值,就能查询出对应的学生姓名,以及语文、数学的成绩了。

我们来看一下函数公式:

excel工作案例:如何自动提取每个班级第一名学生的信息?

L2单元格的公式为

=LARGE(($A$2:$A$29=H2)*($E$2:$E$29),1)

将A列值与H2进行判断,等于H2的就返回1,错误的就返回0,再用1、0去乘以对应的总分,最后再用large函数去除最大的总分,也就是每个班级的总分第一。

excel工作案例:如何自动提取每个班级第一名学生的信息?

由于公式要下拉填充,而公式里班级区域、总分区域都应该是固定的,因此要加上绝对引用。

excel工作案例:如何自动提取每个班级第一名学生的信息?

有了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列区域全部用绝对引用。

excel工作案例:如何自动提取每个班级第一名学生的信息?

同理,只需要将函数公式末尾的返回值区域由B列改为C列、D列,就能查询到对应的语文、数学成绩。

excel工作案例:如何自动提取每个班级第一名学生的信息?

最终,所有结果都自动查询成功了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多