在日常数据处理工作中,我们常常需要对成绩或销售数据进行分组排名,比如:按班级统计学生成绩名次,或按地区排名销售额。传统方法可能要借助辅助列甚至多次筛选,操作繁琐。而今天要分享的,是通过一个 SUMPRODUCT 函数公式,即可在 表格中轻松完成 分组内排名,操作简洁、效率高!

场景说明

以学生成绩数据为例,假设我们有如下字段:

  • 班级(B列)

  • 学科(C列)

  • 成绩(D列)

我们希望分别在 E 列和 F 列中实现按 班级+学科,以及按 学科整体 的成绩排名。

操作步骤一:按“班级+学科”分组排名

1、在 E2 单元格中输入以下公式:

=SUMPRODUCT(($B$2:$B$54=B2)*($C$2:$C$54=C2)*($D$2:$D$54>D2))+1

2、回车后,拖动或双击填充柄,将公式应用至整列。

3、建议将表格按“班级”与“学科”排序,便于观察排名效果更直观。

零基础也能学会!用 SUMPRODUCT 实现分组排名的完整步骤-天天办公网
班级+学科分组排名

操作步骤二:按“学科”整体排名

1、在 F2 单元格中输入以下公式:

=SUMPRODUCT(($C$2:$C$55=C2)*($D$2:$D$55>D2))+1

2、同样地,填充公式至整列,快速获取各学科中的学生成绩排名。

零基础也能学会!用 SUMPRODUCT 实现分组排名的完整步骤-天天办公网
按“学科”整体排名

公式原理拆解

让我们来简单拆解下公式逻辑:

① 锁定分组条件

$B$2:$B$54=B2

这段是将整列班级与当前行班级进行对比,返回一个布尔值数组(即TRUE/FALSE),
类似地:

$C$2:$C$54=C2

对比学科是否相同,配合使用 * 运算将两个条件合并,得到形如 {1;0;1;...} 的数值数组(1代表条件同时满足的行)。

② 判断成绩大小

$D$2:$D$54>D2

判断成绩是否比当前行高,返回布尔值数组,如 {FALSE; TRUE; FALSE; ...}

③ 综合计算排名

将第①步和②步数组逐元素相乘,最终得到一个包含满足“同组且成绩更高”条件的数组,再通过 SUMPRODUCT 汇总计数,最后加 1 得出当前行的名次。

使用注意事项

  • 所有公式中的区域建议使用绝对引用(加 $ 符号),避免填充公式时引用错位;

  • 确保成绩列为数字格式,避免文本型数字导致公式出错;

  • 若数据量较大,建议用更高效的 SUMIFS + COUNTIFS 函数组合优化计算速度;

  • 可搭配 “排序”、“筛选”、“条件格式” 等功能,让排名结果更直观、可视化。

小结

通过使用  SUMPRODUCT 函数,我们可以在不借助辅助列的前提下,快速实现 按多个字段组合条件进行排名,大大提升了数据处理效率和公式简洁性。无论是教学成绩分析,还是业务数据分组汇总,这个方法都非常实用。掌握它,让你的excel表格更智能、更高效!

>>免费下载:表格大师