Excel公式练习20:对不同的班级分别排序

微信公众号:excelperfect

本次的练习是:如下图1所示的工作表,在单元格区域A1:C9中有一组学生成绩数据,如何使用公式分别对不同班级的学生根据成绩高低排序?

Excel公式练习20:对不同的班级分别排序
 图1

 

先不看答案,自已动手试一试。

 

公式思路

因为数据区域中要根据不同的班级分别排序该班级的成绩,所以需要区分不同的班级,并针对每个班级的学生成绩来排序。

 

公式

在单元格D2中的公式如下:

=SUMPRODUCT(--($B$2:$B$9=B2),--($C$2:$C$9>C2))+1

下拉至单元格D9,结果如图2所示。

Excel公式练习20:对不同的班级分别排序
 图2

 

公式解析

首先,公式中的:

--($B$2:$B$9=B2)

将单元格区域B2:B9中的每个值与单元格B2中的值比较,得到数组{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE},双减号将逻辑值转换成{1;0;0;0;0;0;1;1}。

公式中的:

--($C$2:$C$9>C2)

将单元格区域C2:C9中的每个值与单元格C2中的值比较,得到数组{FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE;TRUE},双减号将逻辑值转换成{0;0;1;1;0;0;1;1}。

 

接着,SUMPRODUCT函数将两个包括0,1的数组对应元素相乘后相加,得到对应的学生在所在班级的成绩排名。

即公式中的第1部分区分不同的班级,第2部分排序所在的成绩,结合起来即得到该学生所在班级的成绩排序。

 

小结

  • SUMPRODUCT函数的经典应用,多条件而无需数组公式。

  • 下期预告:

    Excel公式练习21:在单元格列区域中输入连续的数字

    使用公式在工作表任意单元格列区域中输入连续的数字,如下图所示,在单元格区域A2:A7中输入1~6。要求:不能单独删除或修改该单元格区域中的任何一个数字;不能在该单元格区域中添加或删除行;在该区域最开始的单元格A2之前插入一行时,数字序号不变;将该区域复制到其它地方时,数字序号不变。

    Excel公式练习20:对不同的班级分别排序

     

     

    本文属原创文章,转载请注明出处。

    欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    欢迎关注[完美Excel]微信公众号:

    方法1—在微信“添加朋友”或者通讯录中搜索“完美Excel”或者“excelperfect”后点击关注。

    方法2—扫一扫下面的二维码

    Excel公式练习20:对不同的班级分别排序

    别忘了,留言、点赞、点击每篇文章底部的广告,也是给我的支持和鼓励哟!Excel公式练习20:对不同的班级分别排序