首页 > Excel专区 > Excel函数 >

excel如何SUMPRODUCT函数分组别对数据进行排名

Excel函数 2021-11-17 12:49:02

应用场景

下图工作表中显示了2组人员的分数,为方便大家阅读,第2组用金黄色底纹进行了突出显示。接下来我们要分不同的组别对每个小组中的人员分数进行排名。分数越高,名次越靠前,每个小组中分数最高的为小组第1名。

SUMPRODUCT函数实用案例分享:分组别对数据进行排名

操作步骤

1.选中D2单元格,输入公式:=SUMPRODUCT(($A$2:$A$9=A2)*($C$2:$C$9>C2)/COUNTIF($C$2:$C$9,$C$2:$C$9))+1,输入完毕按回车键确认公式,即可返回“贾探春”在“1组”中的排名“1”。

公式说明:

$A$2:$A$9=A2为逻辑值,即判断$A$2:$A$9单元格中的值是否等于A2;

$C$2:$C$9>C2也是逻辑值,即判断$C$2:$C$9单元格中的值是否大于C2单元格中的值;

COUNTIF($C$2:$C$9,$C$2:$C$9)用于统计$C$2:$C$9单元格区域中每一行的值所出现的次数。

SUMPRODUCT(($A$2:$A$9=A2)*($C$2:$C$9>C2)/COUNTIF($C$2:$C$9,$C$2:$C$9))的含义是:在满足$A$2:$A$9单元格中的值为“1组”的前提下,统计$C$2:$C$9对应单元格中分数大于C2单元格(98)的分数个数。

因为大于C2单元格的分数个数要加上1,才能得到C2单元格自身的排序名次,所以公式的最后还要加上“+1”。

SUMPRODUCT函数实用案例分享:分组别对数据进行排名

2.将公式向下填充,即可得到所有人员在所属小组中的排名。

SUMPRODUCT函数实用案例分享:分组别对数据进行排名

注意事项

如果希望得到的排名是中国式排名(重复排名不占用名次),上述公式中的“/COUNTIF($C$2:$C$9,$C$2:$C$9)”不能省略。如果省略,得到的排名将是美国式排名,中间会有名次被跳过,参见下图E列,2组有两个第“1”名,第“2”名被跳过,接下去直接排到了第“3”名。

SUMPRODUCT函数实用案例分享:分组别对数据进行排名

拓展知识

如果想对所有人员的分数整体进行中国式排名(不区分组别),可将前面案例公式中的第一个逻辑值($A$2:$A$9=A2)删除,将公式修改为“=SUMPRODUCT(($C$2:$C$9>C2)/COUNTIF($C$2:$C$9,$C$2:$C$9))+1”。


标签: SUMPRODUCT函数

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.