本文作者:office教程网

如何用公式实现根据多个条件(多关键字)排名次

office教程网 2023-12-29 18:52:50
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要: 如何用公式实现根据多个条件(多关键字)排名次
问题:多名考生的考试成绩如下表

需要排出名次,具体要求:首先考虑总分,如果总分一样,再考虑科目1,如果...

如何用公式实现根据多个条件(多关键字)排名次

问题:多名考生的考试成绩如下表

需要排出名次,具体要求:首先考虑总分,如果总分一样,再考虑科目1,如果科目1分数一样,再考虑科目2,如果科目2分数一样,再考虑科目3。

就等同于按照总分为第一关键字、科目1为第二关键字、科目2为第三关键字、科目3为第四关键字降序排列,然后再统计名次,如下图:

只不过,这里要求用函数准确统计出每位考生的名次。

公式实现如果仅考虑总分

如果仅按总分排名次,大家基本都能会,用RANK函数就可以了。如下图,在F2单元格输入公式“=RANK(B2,$B$2:$B$28)”,确定,公式向下填充即可。这样得出的结果:总分一样,则名次一样。

比如总分同是220分,排名都是4,不能更细的区分出名次排位。如果总分相同,再考虑科目1

SUMPRODUCT排出我们习惯的名次

问题情境 RANK和RANK.EQ排出来的名次,如果有相同的数值会出现相同的排名,再继续排下去,会出现名次“间断”的情况,比如,两个第三名后,会直接出现第五名,而没有第四名,这种“不连续”名次,咱不喜欢。如下图,不受欢迎的排名方式: 这种名次“间断”的排名方式,有人称之为“美式排名”,那咱今天就“中式排名”。

如果总分相同,再按照科目1进一步计算排名,则需要换公式。

在F2单元格输入公式“=SUMPRODUCT(N($B$2:$B$28*100 $C$2:$C$28>B2*100 C2)) 1”,确定,公式向下填充,如下图:

我们可以看到:总分相同,但科目1分数不同,则名次不同。

本公式解释

$B$2:$B$28*100 $C$2:$C$28:本部分含义是将总分依次乘以100,再加上科目1,返回值“总成绩*100 科目1”数组。$B$2:$B$28*100 $C$2:$C$28>B2*100 C2):本部分含义是将“总成绩*100 科目1”数组,依次与公式所在行考生的“总成绩*100 科目1”进行对比,如果大于则返回TRUE,否则返回FALSE。本部分返回TRUE与FALSE组成的逻辑值数组。N($B$2:$B$28*100 $C$2:$C$28>B2*100 C2):用N函数将TRUE与FALSE组成的逻辑值数组中的TRUE转换成1,FALSE转换成0,本部分返回1与0组成的数组。SUMPRODUCT(N($B$2:$B$28*100 $C$2:$C$28>B2*100 C2)) 1:用数组求和函数对1与0组成的数组求和,并加1,得名次。如果总分相同、科目1分数相同,再考虑科目2

如果总分相同、科目1分数相同,可以再考虑科目2进一步排名,在F2单元格输入公式“=SUMPRODUCT(N($B$2:$B$28*10000 $C$2:$C$28*100 $D$2:$D$28>B2*10000 C2*100 D2)) 1”,确定,公式向下填充,如下图:

如果总分相同、科目1科目2分数相同,可以再考虑科目3进一步排名,公式怎么写?朋友们可以试着写出来,留言。

SUMPRODUCT分组排名公式

前几天,一篇中的公式“=SUMPRODUCT(($C$2:$C$14=C2)*($D$2:$D$14>=D2))”出现了bug——如果在某组中出现并列第一的情况,结果显示为并列“第二”。 如下图: 今天再给一个更严密的公式。 公式实现 在E2单元格输入公式: =SUMPRODUCT(($C$2:$C

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:如何用公式实现根据多个条件(多关键字)排名次发布于2023-12-29 18:52:50
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: