Excel公式技巧102:获取排序序号唯一值

excelperfect

当我们需要对一组数据进行排序时,自然而然地就会想到RANK函数。

RANK函数返回某数字在一组数字中相对于其他数值的大小的排名,其语法为:

RANK(number,ref,order)

其中:

  • 参数number代表要获取排名的数字。

  • 参数ref代表一组数字或对数字的引用。

  • 参数order指定为0,降序排列;指定为1,升序排列。

如下图1所示的工作表,要对每名学生的成绩进行排序。可以在单元格C2中输入公式:

=RANK(B2,$B$2:$B$8,0)

向下拉至单元格C8。

图1

可以看出,使用RANK函数进行排序非常方便。然而,如果两人或多人的分数相同,此时RANK函数会给出并列排名的结果,如下图2所示。

图2

如果我们不想要相同的数字给出相同的排名,而是希望输入在前的数字排名靠前,如下图3所示,怎么做呢?

图3

可以在单元格C2中输入公式:

=RANK(B2,$B$2:$B$8,0)+COUNTIF($B$2:B2,B2)-1

向下拉至单元格C8即可。

此公式中,

COUNTIF($B$2:B2,B2)

统计对应列B中的值在其及上方单元格区域中出现的次数,如果只出现1次,减去1,排名保持不变;如果出现2次,减去1,将结果增加到RANK函数给出的排名中得到最终排名。

完美Excel

Excel与VBA及相关技术的个人分享平台
1546篇原创内容
公众号

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

(0)

相关推荐