如何用excel函数进行按班级排名

来源:百度知道 编辑:UC知道 时间:2024/05/29 02:45:29
有一个全校的成绩表,格式是:
姓名 班级 分科1成绩 分科2成绩 总成绩
张三 一年一班 2 4 6
李四 三年二班 5 3 8

现需要对这个大表的总成绩进行排名,按班级分组。我可以对班级和总成绩进行排序,但该如何实现按班级来分组排名呢?
这个问题是需要按总成绩进行排名,不是排序。还要分班排名。例如张三在一年一班中的总成绩最高,他的排名值应该是1.李四在三年二班中的成绩最高,他的排名值也应该是1.
需要在后面插入一列,显示该生的总成绩在本班中排第几名。是一张全校大表,有六个年级。

rank函数没法对选择出来的数组排序,所以这里用别的实现:

在一列空单元格里,比如在f2中输入公式

=SUMPRODUCT(($b$2:$b$1000=A2)*(e$2:$e$1000>C2))+1

然后向下拖拉,可以得到对应学生在班级内的名次
这里,1000为假设的学生数,自行修改。

=SUMPRODUCT((($B$2:$B$1000=B2)*($E$2:$E$1000*10^4+ROW($2:$1000))>=(E2*10^4+ROW()))*1)

或者

=SUMPRODUCT((($B$2:$B$1000=B2)*($E$2:$E$1000)>=(E2))*1)

然后向下拖拉,可以得到对应学生在班级内的名次。(1000为假设的学生数)
第一个公式考虑了如果成绩相同的问题,第二个公式忽略此问题。

数据-排序-主要关键字为班级-次要关键字为总成绩

先对班级排序,然后再对各个班级总成绩排序就好啦

废话,按几年几班来排吧!楼主的意思!那么请问楼主,有没有超过9班的,比如三年十二班或十三年二班