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)