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)

相关推荐