EXCEL中按班级提取前各科的前三名、后三名的成绩及姓名?

A列是学号 B列是姓名 C列是班级 D列语文成绩 E列数学成绩 F列英语成绩 G列是总分

没有见你的明细表,设计了一个思路:

1、在成绩列表后再加一个姓名,内容复制前列即可(如下图);

2、再设计一统计表,每班前3名,各科成绩前3名,用函数 large(范围, 第1名),large(范围, 第2名),large(范围, 第3名)得到,当成绩取得了,用成绩反找姓名(最后一列姓名),公式 vlookup( 成绩,范围,取值,0 ), 如下图:

希望对你有用,再交流。ok

疏忽了一点,将后三名没有考虑进来,用 函数 small( ),即可解决,方法同上,SMAll(范围,第n个小值)。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-02

统计出来数据是应该放在什么地方,班级的目录又在哪一个列呢?

如上图,现以语文成绩为例,按下面的一步一步操作吧

1、K2单元格输入公式:

=INDEX($A$2:$A$25,MAX(IF(LARGE($D$2:$D$25-ROW($1:$24)%%,ROW(A1))=$D$2:$D$25-ROW($1:$24)%%,ROW($1:$24),0)))

2、L2单元格输入公式:

=INDEX($B$2:$B$25,MAX(IF(LARGE($D$2:$D$25-ROW($1:$24)%%,ROW(A1))=$D$2:$D$25-ROW($1:$24)%%,ROW($1:$24),0)))

3、在M2单元格输入公式:

=INDEX($D$2:$D$25,MAX(IF(LARGE($D$2:$D$25-ROW($1:$24)%%,ROW(A1))=$D$2:$D$25-ROW($1:$24)%%,ROW($1:$24),0)))

4、在K6单元格输入公式:

=INDEX($A$2:$A$25,MIN(IF(SMALL($D$2:$D$25+ROW($1:$24)%%,ROW(A1))=$D$2:$D$25+ROW($1:$24)%%,ROW($1:$24),4^8)))

5、在L6单元格输入公式:

=INDEX($B$2:$B$25,MIN(IF(SMALL($D$2:$D$25+ROW($1:$24)%%,ROW(A1))=$D$2:$D$25+ROW($1:$24)%%,ROW($1:$24),4^8)))

6、在M6单元格输入公式:

=INDEX($D$2:$D$25,MIN(IF(SMALL($D$2:$D$25+ROW($1:$24)%%,ROW(A1))=$D$2:$D$25+ROW($1:$24)%%,ROW($1:$24),4^8)))

以上都是数组公式,在输入或者粘贴公式时必须同时按CTRL+SHIFT+ENTER这3个键结束,否则公式无效……

复制并下拉,即可得到前3和后3的名单了,自己去研究吧……

第2个回答  2019-03-02
把问题作为内容(邮件主题一定要包含“excel”,本人以此为依据辨别非垃圾邮件,以免误删),excel样表文件(把现状和目标效果表示出来)作为附件发到[email protected]帮你看下
相似回答