在 Excel 中,排名公式可以根据数据的大小进行排序,通常用于排名、筛选、统计等场景。以下是几种常见的排名公式,适用于不同情况:
✅ 一、基础排名公式(按降序排列)
✅ 公式:
=RANK.EQ(number, ref, [order])
参数说明:
number:要排名的数值(如 A1)。ref:排名的范围(如 A1:A10)。order:排名顺序(1 表示降序,0 表示升序,默认是 0)。
示例:
=RANK.EQ(85, A1:A10, 1)
- 如果
A1:A10是70, 85, 90, 80, 95,那么85的排名是 3(降序)。
✅ 二、按升序排名(默认顺序)
✅ 公式:
=RANK.EQ(number, ref, 0)
示例:
=RANK.EQ(85, A1:A10, 0)
- 如果
A1:A10是70, 85, 90, 80, 95,那么85的排名是 2(升序)。
✅ 三、按降序排名(指定顺序)
✅ 公式:
=RANK.EQ(number, ref, 1)
示例:
=RANK.EQ(85, A1:A10, 1)
- 如果
A1:A10是70, 85, 90, 80, 95,那么85的排名是 3(降序)。
✅ 四、不重复排名(去重)
✅ 公式:
=RANK.EQ(number, IF(FREQUENCY(ref, ref) > 0, ref, ""), 0)
示例:
=RANK.EQ(85, A1:A10, 0)
- 如果
A1:A10是70, 85, 85, 90, 95,那么85的排名是 2(去重后)。
✅ 五、使用 RANK.EQ 与 RANK 的区别
| 函数 | 描述 | 用途 |
|---|---|---|
RANK.EQ |
与 RANK 相同,但支持去重 |
适用于大多数情况 |
RANK |
不支持去重,会重复 | 适用于需要去重的场景 |
✅ 六、使用 ROW() 和 COUNT() 实现排名(不使用 RANK.EQ)
✅ 公式:
=ROW() + COUNT(A1:A10) - COUNTIF(A1:A10, A1:A10)
示例:
=ROW() + COUNT(A1:A10) - COUNTIF(A1:A10, A1:A10)
- 如果
A1:A10是70, 85, 85, 90, 95,那么85的排名是 2。
✅ 七、使用 LARGE 函数求排名
✅ 公式:
=LARGE(ref, 1)
-
如果
ref是70, 85, 85, 90, 95,那么LARGE(ref, 1)是95,即最大值。 -
如果要找第 2 名,可以使用:
=LARGE(ref, 2)
✅ 八、使用 SMALL 函数求排名(适用于小数据)
✅ 公式:
=SMALL(ref, 1)
- 如果
ref是70, 85, 85, 90, 95,那么SMALL(ref, 1)是70,即最小值。
✅ 九、排名后填充(自动填充)
如果你需要自动填充排名,可以将公式放在一个单元格,然后拖动填充:
示例:
=RANK.EQ(A1, A1:A10, 1)
- 填充到 B1,然后拖动到其他单元格。
✅ 十、去重排名(不重复)
✅ 公式:
=RANK.EQ(A1, IF(FREQUENCY(A1:A10, A1:A10) > 0, A1:A10, ""))
- 适用于去重后排名。
✅ 总结
| 公式 | 用途 | 说明 |
|---|---|---|
RANK.EQ(number, ref, 1) |
降序排名 | 默认降序 |
RANK.EQ(number, ref, 0) |
升序排名 | 默认升序 |
RANK.EQ(number, ref, 0) |
去重排名 | 不重复 |
LARGE(ref, 1) |
最大值 | 第1名 |
SMALL(ref, 1) |
最小值 | 第1名 |
如果你有具体的数据范围或需求,我可以帮你定制公式!