内容
切换
Excel RANK 函数:并列、分组和可见行的实用指南快速修复为什么会出现这个问题?(概念/原理)排名 vs 排名.EQ vs 排名.AVG第三个参数固定比较范围实际示例示例数据1)默认排名(降序/升序)2) 并列排名稳定化(基于第二个标准的“唯一”排名)3)按组别(团队/类别)排名4)排名时排除 0 分和空单元格5) 仅对可见行进行排名(使用筛选器)6) 提取并排序前 N 个7) 转换为表格(结构化引用)替代方法/注意事项/检查清单故障排除结论:推荐相关文章
Excel RANK 函数:并列、分组和可见行的实用指南
Excel RANK 函数它可以快速对分数或销售额等“数字”进行排名。本文将介绍其基本用法以及…… 决胜局, 按组排名, 0·不包括空单元格, 仅显示筛选后的行 我们提供了一套详细的网站排名计算公式。最后, 前氮提取以及对齐方式 表格(参见结构) 我们整理了一些可以直接在实践中使用,甚至包括单位换算的配方。
快速修复
降序排列(从大到小): =RANK.EQ(B2,$B$2:$B$11,0)
升序排列(从小值开始): =RANK.EQ(B2,$B$2:$B$11,1)
并列排名的平均值: =RANK.AVG(B2,$B$2:$B$11,0)
并列排名(第二标准): =RANK.EQ(B2,$B$2:$B$11,0)+COUNTIFS($B$2:$B$11,B2,$C$2:$C$11,"<"&C2)
按组排名(动态数组): =RANK.EQ(B2,FILTER($B$2:$B$11,$C$2:$C$11=C2),0)
0.排除空单元格: =IF(OR(B2=0,B2=""),"",RANK.EQ(B2,FILTER($B$2:$B$11,($B$2:$B$11>0)*($B$2:$B$11<>"")),0))
仅显示可见行(已反映筛选条件): =RANK.EQ(B2,FILTER($B$2:$B$11,SUBTOTAL(103,OFFSET($B$2,ROW($B$2:$B$11)-ROW($B$2),0))),0)
提取前 N 个值(已排序): =TAKE(SORTBY(A2:B11,B2:B11,-1),N)
为什么会出现这个问题?(概念/原理)
排名 vs 排名.EQ vs 排名.AVG
RANK这是一个为了兼容性而保留的旧功能。在最新版本中, RANK.EQ(并列,排名相同)或 RANK.AVG建议采用并列平均排名。
如果出现并列情况,您可以选择在排名中留下一个“空缺”(例如 1,2,2,4),或者将其平滑为平均值(1,2.5,2.5,4)。
第三个参数固定比较范围
0如果按降序排列(最大值在前), 1如果存在,则按升序排列(从小到大)。
拖动填充时,比较范围是固定的($必须这样做。例如: $B$2:$B$11
实际示例
示例数据
请参考下表。
姓名점수提交时间(二年级)팀
Kim9509:05A
李9009:10B
地形公园9009:03A
财8809:20B
张8409:01A
歌曲8409:11A
有8009:15B
尹0 - B
徐 - A
美好的7609:25B
1)默认排名(降序/升序)
降序(数值越大优先): =RANK.EQ(B2,$B$2:$B$11,0)
升序(数值最小排在最前面): =RANK.EQ(B2,$B$2:$B$11,1)
2) 并列排名稳定化(基于第二个标准的“唯一”排名)
为了在出现并列排名时加快提交速度(唯一排名):
=RANK.EQ(B2,$B$2:$B$11,0)
+COUNTIFS($B$2:$B$11,B2,$C$2:$C$11,"<"&C2)
意义: 您可以创建一个独特的排名,方法是将您的排名向下移动相同分数但申请速度比您快的申请人数。您可以将辅助排名标准更改为员工编号、入职日期或姓名字母顺序。
3)按组别(团队/类别)排名
使用动态数组(FILTER):
=RANK.EQ(B2, FILTER($B$2:$B$11, $D$2:$D$11=C2), 0)
各团队仅筛选出相同的行,以创建得分列表并计算其中的排名。
替换先前版本:
=SUMPRODUCT(($D$2:$D$11=D2)*($B$2:$B$11>B2))+1
排名是指在同一队伍中比你高出积分的人数加 1。
4)排名时排除 0 分和空单元格
=IF(OR(B2=0,B2=""),"",
RANK.EQ(B2, FILTER($B$2:$B$11, ($B$2:$B$11>0)*($B$2:$B$11<>"")), 0))
0 或空单元格 ""将其标记为“已删除”并将其从排名中排除。
5) 仅对可见行进行排名(使用筛选器)
仅对可见值进行排名,不包括被自动筛选隐藏的行。
=RANK.EQ(B2,
FILTER($B$2:$B$11,
SUBTOTAL(103, OFFSET($B$2, ROW($B$2:$B$11)-ROW($B$2), 0))
),
0)
SUBTOTAL(103, ...)仅对“可见”行返回 TRUE。
6) 提取并排序前 N 个
365/2021 及以上版本:按分数降序排序,仅检索前 N 行。
=TAKE(SORTBY(A2:D11, B2:B11, -1), N)
如果您想向此表中添加排名列,请使用上面的快速修复方法。 RANK.EQ您可以将其添加为一列,然后进行排序。
7) 转换为表格(结构化引用)
将范围转换为表格(快捷键) Ctrl+T)和表名 tblScore如果列名分别为 [姓名]、[分数]、[时间]、[队伍]:
=RANK.EQ([@Score], tblScore[Score], 0)
随着数据量的增加,表格会自动扩展其范围,从而便于管理。
替代方法/注意事项/检查清单
如果出现并列情况,您希望获得“无洞”连续排名,请使用辅助标准(时间/数量等)来创建唯一的排名。
为防止统计失真,排除 0 或无应答的情况。
按队伍/类别排名 FILTER 또는 SUMPRODUCT 用规律就能轻松解决这个问题。
如果您经常使用筛选器,请确保您的报告与“可见行”排名公式保持一致。
前 N 名是 SORTBY+TAKE 这种组合是最简单的。
故障排除
症状원인溶剂
排名有误
比较范围是相对参考,因此拖动时会发生变形。
$B$2:$B$11固定为绝对引用
由于存在许多并列情况,因此报告中需要采用独特的排名方法。
不设并列评判标准
COUNTIFS通过添加第二个标准(时间/员工编号)创建独特的排名。
排名中也包含 0 分。
不适用除外条款
FILTER(범위,범위>0)按以下方式筛选目标值
筛选后,隐藏的行仍然会被计数。
可见的执行条件未反映在范围内
SUBTOTAL(103,OFFSET(...)) 仅筛选出符合特定模式的行
每次数据量增加时都要修改范围,这很麻烦。
手动管理通用范围
Ctrl+T转换为表格,使用结构化引用
结论:推荐相关文章
使用 SUBTOTAL 功能提高筛选报告的准确性
SUMPRODUCT 高级模式(AND/OR,条件求和)
VLOOKUP 与 XLOOKUP 函数完整指南
如果您经常需要创建 Excel 排名报告,可以参考以上文章。 Excel RANK 函数 使用模板化食谱可以节省大量时间。
内部链接(自然地插入文本中的其他示例):
减少 Excel 文件大小,
完成工作表快捷方式
Excel字符计数完整指南(LEN/LENB、排除空格、特定字符/单词、范围求和、表情符号和换行符)