当它为0或省略时
使用Excel统计分数时,我们通常是按照分数排序,然后按照顺序自动填写姓名。这种方法得到的排名与总分无关,即使分数相同,也会填写不同的排名。
如果数据少的话,我们可以手动把同样成绩的人换成同样的排名,但是数据多的时候就很麻烦了。经过实践,以下三种方法可以自动实现同分同名的操作。假设有1000个候选人,字段位置如上图所示。
1.使用RANK函数
在H2单元格中输入函数“=RANK(G2,G$2:G$1001,0)”,回车后RANK“1”将出现在H2单元格中。然后,选择H2并拖动其填充手柄自动向下填充。
这个函数的作用是返回一个数字在数字列表(G$2:G$1001在上面提到的函数中,这里使用相对应用,填充时随着变化而变化)中的排名(G2在上面提到的函数中,这里使用绝对应用,填充时不变化)。数字排名是其大小与列表中其他值的比率。使用该功能时,即使总分没有排序,也可以直接找到对应总分的排名;如果总分已经排名,则该数字的排名为其当前位置。上述函数中的最后一个“0”表示排名方法。当它为0或省略时,Excel按降序排列数字。如果不为零,Excel将按升序排列数字。该函数以同样的方式对重复进行排序,下一次排序将对之前的重复进行计数。
其次,使用计数函数COUNTIF
在单元格H2中输入函数“=COUNTIF(G$2:G$1001,' ' G2) 1”,然后自动向下填充实现此操作。
这个函数的作用是计算一个区域中满足给定条件的单元数。在上述函数中,绝对引用用于指定计算区域G$2:G$1001,与排名对应的单元格G2为相对引用。也就是找出G2:G1001区域中大于排名所对应的总分的单元格数,然后加1得到这个单元格中数值的排名。不管操作中有多少次重复,大于它的次数是固定的,所以重复数据的排名是一样的。和RANK函数一样,不管有没有按总分排序,这个函数都可以做上面的操作。
第三,使用IF语句加COUNT函数。
这种操作不同于以上两种方法。首先,总分必须按降序排序。然后,输入第一位的“1”,然后在单元格H3中输入函数“=IF(G3=G2,H2,COUNT($G$2:G3)”。确认后,同样的分数,同样的名字也可以通过自动填写的方式实现操作。
COUNT函数的功能是返回指定区域中数值单元格的数量。因为G列全是数字单元格,总分在哪里?以上表述的意思是,如果当前总分与上一次总分相同,则输入上一次总分的排名;否则,执行COUNT语句并计算数量。
以上三种方法可以自动实现同师同名的操作。虽然这篇文章被孔乙己怀疑“会”字有四种写法,但作者的目的只有一个,那就是让Excel函数更好地为我们服务。