excel学习库

excel表格_excel函数公式大全_execl从入门到精通

考试成绩多人并列第一,如何提取所有并列第一的学生姓名?

「最近学校的考试成绩出来了。作为老师,我想知道每科第一名的学生都有谁。有的科目第一名只有一人,有的科目多人并列第一。怎么才能把每科第一名的学生姓名提取出来呢?」

一、案例

如下图所示,A1:B8为学生成绩表。现在要求分别提取第一名的学生姓名。

二、分析

提取第一名的学生姓名,其实就是查找B2:B8单元格区域数值最大值对应的A列姓名。

1、首先我们需要知道B2:B8单元区域的最大值是多少。我们可以使用MAX函数返回最大值。

在辅助列C2单元格输入公式 =MAX($B$2:$B$8),拖动填充柄向下复制公式。该公式返回值为100,说明B2:B8单元格区域最大值是100。

2、判断B列的成绩是否等于最大值,如果等于最大值,说明是第一名,使用IF函数返回在A2:A8区域的行号。在D2单元格输入公式 =IF(B2=C2,ROW(1:1),""),该公式返回的行号就是第一名所在的行号。

3、根据D列返回的行号,使用Index函数提取对应的姓名。在E2单元格输入公式

=IFERROR(INDEX($A$2:$A$8,D2),"")。当D列为空值时,IFERROR返回空值。

4、把步骤1-3的公式写在一起。在C2单元格输入公式

=IFERROR(INDEX($A$2:$A$8,IF(B2=MAX($B$2:$B$8),ROW(1:1),"")),"")

这个汇总的公式虽然能得到第一名的姓名,但显然并不能满足我们的需求。我们需要把第一名的姓名排列在一起。

5、改写为数组公式。单元格E2输入公式

=IFERROR(INDEX($A$2:$A$8,SMALL(IF($B$2:$B$8=MAX($B$2:$B$8),ROW($1:$7),""),ROW(1:1))),"")

按Ctrl+Shift+Enter结束公式输入。拖动填充柄向下复制公式,当公式返回值为空白时,说明已返回所有并列第一名的学生姓名,不用再继续向下复制公式。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接