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 小结:结合数据情况理清思路,充分利用函数功能将其实现在公式中。 |
|
来自: hercules028 > 《excel》