做销售数据分析的时候,经常需要给业绩排个名次。如果手动排序再标序号,数据一多就非常麻烦。这时候,Excel的 RANK函数 就派上用场了RANK函数 的作用是可以返回一个数字在数字列表中的排位。排位就是这个数字跟列表中其他值比,它排第几。RANK函数一个公式下拉,名次自动生成。

RANK函数的基本语法

RANK函数的写法非常简洁

=RANK(number, ref, [order])
参数 说明
number 要排名的数字(通常是某个单元格)
ref 参与排名的数字区域
[order] 可选。0或省略=降序(数值越大排名越靠前);非0=升序(数值越小排名越靠前)

回到上面的销售表,在C2单元格输入以下公式,然后向下填充:

=RANK(B2,$B$2:$B$11,0)
  • B2:要排名的销售额

  • $B$2:$B$11:所有销售额所在的区域(绝对引用,防止下拉时区域变动

  • 0:降序排列,销售额越高名次越靠前

rank函数怎么用?Excel排名公式详解(含RANK.EQ和RANK.AVG)-趣帮office教程网
RANK函数操作步骤

RANK函数的两个“兄弟”:RANK.EQ和RANK.AVG

从Excel 2010开始,RANK函数被细分为两个新函数。虽然老的RANK函数还能用,但了解这两个“兄弟”会更有帮助。

RANK.EQ —— 跟RANK完全一样

RANK.EQ 中的 “EQ” 是 “Equal”(相等)的缩写。它的排名逻辑跟老的 RANK函数 完全一样:相同数值给相同排名,但后续排名会跳过

=RANK.EQ(B2, $B$2:$B$11, 0)

效果跟 =RANK(...) 一模一样。

RANK.AVG —— 并列时取平均排名

RANK.AVG 在处理并列排名时有所不同——它会计算平均排名

=RANK.AVG(B2, $B$2:$B$11, 0)

还是上面的数据,9200出现了两次。它们的排名本应是第2和第3,RANK.AVG 取平均值 (2+3)/2 = 2.5,所以两人都显示第2.5名

rank函数怎么用?Excel排名公式详解(含RANK.EQ和RANK.AVG)-趣帮office教程网
RANK.AVG操作步骤

什么时候用哪个?

场景 推荐函数
考试排名、体育赛事(要显示第1、第2、第3...) RANK 或 RANK.EQ
统计学分析(需要平滑处理并列数据) RANK.AVG
旧版Excel兼容 RANK

一个让很多人困惑的问题:排名为什么会“跳号”?

用 RANK函数 做排名时,很多人会发现一个现象:两个并列第1之后,下一个直接变成第3,没有第2这不是函数出错了,而是 RANK函数 的设计逻辑就是如此。它采用的是“竞争性排名”规则:两个人并列第1,说明有两个人排在第1和第2的位置,下一个自然就是第3

如果你需要“不跳号”的排名(即1、1、2、3这种“密集排名”),需要用到组合公式:

=SUMPRODUCT((B$2:B$6>B2)/COUNTIF(B$2:B$6, B$2:B$6)) + 1

这个公式稍微复杂一些,但可以实现名次连续、不跳号的效果

使用RANK函数的三个注意事项

第一,区域一定要用绝对引用。 如果写成 =RANK(B2, B2:B11, 0) 然后下拉,区域会变成 B3:B7B4:B8……排名区域越来越小,结果全错。正确的做法是使用 $ 锁定区域,如 $B$2:$B$11

第二,文本和空值会被忽略。 RANK函数只对数字进行排名,区域中的文本和空单元格不会参与计算。

第三,降序还是升序,想清楚再选。 第三个参数填 0 或省略,数值越大排名越靠前(适合成绩、销售额);填 1 或任何非0数字,数值越小排名越靠前(适合用时、成本)

常见问题解答

问题1:RANK、RANK.EQ和RANK.AVG到底有什么区别?

简单来说:RANK 和 RANK.EQ 完全一样,并列时给相同排名,后续跳过RANK.AVG 并列时给平均排名。Excel 2010之后推荐使用 RANK.EQ 和 RANK.AVG,老的 RANK 函数保留是为了兼容旧版本

问题2:为什么我的RANK函数返回了错误值?

最常见的原因是排名区域没有用绝对引用($ 符号)。检查一下公式中的 ref 参数是否写成了类似 B2:B10 而不是 $B$2:$B$10。另外也要确认排名区域中是否包含非数字内容。

问题3:如何实现“不跳号”的连续排名?

RANK函数默认会跳号。如果需要1、1、2、3这种连续排名,可以用以下数组公式

=SUMPRODUCT((B$2:B$6>B2)/COUNTIF(B$2:B$6, B$2:B$6)) + 1

输入后按 Ctrl+Shift+Enter 确认(老版本Excel需要)。

总结

RANK函数 是Excel中最直接的排名工具。记住三个核心点:

  • 语法=RANK(数字, 区域, 排序方式)

  • 区域要锁定:用 $ 绝对引用

  • 并列会跳号:这是正常现象,不是Bug

相关文章推荐:

必知!Excel中RANK函数的用法与排名规则详解

Excel中Rank函数的应用:对月薪进行排序