Excel Rank 函数

2025年3月17日 | 阅读 7 分钟

你有一份不同销售候选人的销售数据列表,你需要从大到小找出他们的排名,以确定谁表现最好。现在你可能会想到应用各种公式来解决上述问题,甚至手动操作。但是,当 Excel 已经提供了一个名为“RANK”的内置函数时,为什么要选择困难的方式呢?它将帮助你对数值数据进行从大到小或从小到大的排序。

RANK 函数是什么?

Excel RANK 是一个内置函数,用于返回给定数值数据列表中特定数字的排名。简而言之,此函数返回指定值在所提供值数组中的统计排名。RANK 函数能够对数据值进行从小到大和从大到小的排序。

RANK 函数属于 Excel 统计函数类别。在应用 RANK 函数之前,不需要将数据值按升序或降序排列。

尽管此函数已被更高级的 Excel 函数取代,但建议开始使用可能提供更高精度的新函数。当你在 Excel 中输入 RANK 时,你会看到以下建议:

Excel Rank Function

在上图中,你会注意到 RANK 函数旁边有一个带有感叹号的黄色三角形。它表示此函数可能在未来版本中不可用,因此最好习惯使用 RANK.AVG 和 RANK.EQ 函数。

注意:RANK 公式是预定义的一组公式,能够使用 Excel 辅助列中的排序顺序来提取和显示值。

语法

=RANK(数字,引用,[顺序])

参数

  1. 数字 (必需): 此参数表示你希望在 Excel 工作表中查找其排名的数字。
  2. 引用 (必需): 此参数表示数字列表的数组或引用。请始终记住,引用中的非数值将被忽略。
  3. 顺序 (可选): 此参数表示一个数字,指定你希望在 Excel 中对数字进行排名的顺序。
    • 如果参数顺序为 0(零)或省略,Excel 会像引用是按降序(从大到小)排序的列表一样对给定数字进行排名。
    • 如果参数顺序为除零以外的任何值,Excel 会像引用是按升序(从小到大)排序的列表一样对给定数字进行排名。

注意事项

  • “顺序”参数的默认值为零 (0)。如果参数顺序为 0(零)或省略,Excel 会像引用是按降序(从大到小)排序的列表一样对给定数字进行排名。最高的数字将被排名为 #1,第二高的数字将被排名为 2,依此类推。数字越小,排名越高。
  • 如果顺序值为 1,则数字将根据按升序排序的数字进行排名。最小的数字将被排名为 #1,第二小的数字将被排名为 2,依此类推。数字越高,其排名越高。
  • 在使用 RANK 函数之前,不强制对列表中的值进行排序。
  • 如果指定范围中存在完全相同的值,在这种情况下,RANK() 函数将为每个值分配相同的排名值
  • 一些文档可能声称参数“ref”可以是范围或数组,但参数“ref”必须是范围。

示例 1:使用 Excel RANK 公式查找名为 Elena Gilbert 的员工的销售目标排名。下表所示。

员工姓名已达到的销售目标
John Sudds$5,600
Eric$4,367
Abdullah Madina$6,578
Itrat Zaidi$3,456
Rajat Garg$3,456
Elizabeth$3,234
Elena Gilbert$5,643
Steward Forbes$5,345

要找出员工的排名,请按照以下步骤操作:

步骤 1:添加名为“排名”的辅助列

将鼠标光标放在“已达到的销售目标”旁边的单元格上,并在其顶部键入“排名”。

它将看起来与下图相似

Excel Rank Function

在此列中,我们将输入公式并找出各种数值数据的排名。

注意:你也可以像其他列一样格式化此列,使你的 Excel 工作表更具视觉吸引力。

步骤 2:插入公式

移至第二行并开始输入公式 = RANK(

它将看起来与下图相似

Excel Rank Function

步骤 3:添加参数

  • 第一个参数表示你想要计算其排名的输入值。这里,C6 代表 John 的销售目标,即 5600 美元。

它将看起来与下图相似

Excel Rank Function
  • 在第二个参数中,你需要指定包含销售目标的总单元格从 C4 到 C11。因此,范围是 C4:C11,其中包括所有员工在一个月内达到的销售目标。

它将看起来与下图相似

Excel Rank Function
  • 在第三个参数中,你需要指定顺序。由于我们希望按降序(从大到小)排列,我们将传递 0 作为值。如果你愿意,可以跳过此参数,因为它是可选的,默认值为 0。

它将看起来与下图相似

Excel Rank Function

步骤 5:RANK 将返回结果

RANK (C4, B4: C11, 0) 将返回名为 John Sudds 的员工的排名为 $3。

Excel Rank Function

步骤 4:将公式拖动到其他行以重复

将光标放在公式单元格上,然后将其拖到矩形框的右侧。你会注意到光标将变为“+”图标。

它将看起来与下图相似

Excel Rank Function

将“+”图标拖动到其下方所有单元格。这将自动将 RANK 函数复制到所有单元格。

请参考下图

Excel Rank Function

步骤 5:查找 Elena Gilbert 的排名

现在所有排名都出来了。查找 Elena Gilbert 并查看她的排名。在这里,在单元格 D10 中,它表示 Elena Gilbert 获得了第 2 名。

它将看起来与下图相似

Excel Rank Function

默认情况下,RANK 将为数据数组中找到的最高值分配 1,为第二高的数据分配 2,并以此类推。除非所有数组值都是唯一的,否则此过程会完美无缺地工作。但是,如果它找到两个相同的数值,它会给它们相同的排名。与上图中不同,你可以看到单元格 D7 和 D8 具有相同的排名,因为它们都具有相同的数值。

示例 2 - 计算 John 在计算机中的排名

学生 ID获得分数
John90
Steve70
Rahul20
Paul41

在上面的示例中,显示了学生在计算机和英语科目中的分数。要查找 John 在计算机中的排名,我们将使用 Excel RANK 函数并按照以下步骤操作:

步骤 1:添加名为“排名”的辅助列

将鼠标光标放在“获得分数”旁边的单元格上,并在其顶部键入“排名”。

它将看起来与下图相似

Excel Rank Function

在此列中,我们将输入公式并找出各种数值数据的排名。

注意:你也可以像其他列一样格式化此列,使你的 Excel 工作表更具视觉吸引力。

步骤 2:插入公式

移至第二行并开始输入公式 = RANK(

它将看起来与下图相似

Excel Rank Function

步骤 3:添加参数

第一个参数是输入值,要计算其排名。这里,B6 代表 Steve 在计算机中的分数,即 70。

它将看起来与下图相似

Excel Rank Function

第二个参数,包含计算机分数的总单元格从 C5 到 C11。因此,范围是 C5:C11,其中包括所有学生在计算机中的分数。

它将看起来与下图相似

Excel Rank Function

在第三个参数中,你需要指定顺序。由于我们希望按降序(从大到小)排列,我们将传递 0 作为值。如果你愿意,可以跳过此参数,因为它是可选的,默认值为 0。

它将看起来与下图相似

Excel Rank Function

步骤 5:RANK 将返回结果

RANK (C4, B4: C11, 0) 将返回名为 John 的员工的排名为 $3。

步骤 6:将公式拖动到其他行以重复

将光标放在公式单元格上,然后将其拖到矩形框的右侧。你会注意到光标将变为“+”图标。

它将看起来与下图相似

示例 3:使用 RANK 公式对比赛结果进行排名

学生 ID比赛结果
JohnA1
SteveC2
RahulF
PaulA2
SuklaB1
MohanB2
RohitC1

在上面的表格中,我们有文本而不是数字范围。让我们看看当我们将 RANK 公式应用于文本值时会发生什么。

要找出比赛结果的排名,请按照以下步骤操作:

步骤 1:添加名为“排名”的辅助列

将鼠标光标放在“比赛结果”旁边的单元格上,并在其顶部键入“排名”。

它将看起来与下图相似

Excel Rank Function

在此列中,我们将输入公式并找出各种数值数据的排名。

步骤 2:插入公式

移至第二行并开始输入公式 = RANK(

它将看起来与下图相似

Excel Rank Function

步骤 3:添加参数

  • 第一个参数表示你想要计算其排名的输入值。
  • 在第二个参数中,你需要指定包含单元格数组的总单元格。
  • 在第三个参数中,你需要指定顺序。由于我们希望按降序(从大到小)排列,我们将传递 0 作为值。如果你愿意,可以跳过此参数,因为它是可选的,默认值为 0。

它将看起来与下图相似

Excel Rank Function

步骤 4:Excel 将抛出 #VALUE! 错误

此函数专门用于对数值数据进行排名,但这里我们输入了非数值数据。因此,它将抛出 #VALUE! 错误,表示函数中使用的值是错误的数据类型。

Excel Rank Function