Excel公式技巧77:排名次
excelperfect
如何确定排列顺序是一个永恒的命题!
如下图1所示的工作表,我们要对这几位同学按分数排名,即最高分为第1名,依此类推。
图1
很多人一开始就会想到Excel的“排序”功能。选取分数中的任意单元格,单击功能区“开始”选项卡“编辑”组中“排序和筛选——降序”命令,Excel会按分数由高到低排序,然后在列C中添加名次,如下图2所示。
图2
然而,如果姓名列的顺序不让改变,如何标出他们的名次呢?Excel有一个内置的RANK函数,可以实现排名。如下图3所示,在单元格C2中输入公式:
=RANK(B2,$B$2:$B$6)
下拉至单元格C6。
图3
其实,还可以使用COUNTIF函数来完成,如下图4所示,在单元格C2中输入公式:
=COUNTIF($B$2:$B$6,'>='& B2)
下拉至单元格C6。
图4
此公式的意思是说,在指定区域中,有多少个值是大于或等于某单元格的值,也就是该值在该区域中的排名。
但是,问题又来了,如果区域中有相同的分数,结果变了,如下图5所示。
图5
原因是,对于最高分来说,包括指定单元格有两个单元格中的值大于或等于该单元格中的值,而我们想要得到的是两个1。因此,需要稍微调整一下公式。可以看出,对于分数96来说,没有再比它高的了,而对于分数90来说,有2个比它高,应该排名第3。鉴于此,在单元格C2中的公式调整如下:
=COUNTIF($B$2:$B$7,'>'& B2)+1
下拉至单元格C7,结果如下图6所示。
图6
小结:结合数据情况理清思路,充分利用函数功能将其实现在公式中。
赞 (0)