Excel RANK 函数完全指南:并列、分组、可见行和前 N 个值

2026-01-11 13:03:39

内容

切换

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、排除空格、特定字符/单词、范围求和、表情符号和换行符)

Copyright © 2022 游戏活动大全网 - 全网活动一网打尽 All Rights Reserved.