问题来源
这种0值不参加排名次的情况,老师们是经常遇到的,那韩老师今天就讲讲如何来解决,算是韩老师送个天下教师同仁的一份小小礼物吧。
示例数据与结果:
排序函数
rank函数:
语法:
RANK(number,ref,[order])
中文语法:
RANK(要找到其排位的数字,数字列表的数组,[指定数字排位方式的数字])
RANK 函数语法具有下列参数:
Ref 必需。 数字列表的数组,对数字列表的引用。 Ref 中的非数字值会被忽略。
如果 order 为 0(零)或省略,Microsoft Excel 对数字的排位是基于 ref 为按照降序排列的列表。
如果 order 不为零,Microsoft Excel 对数字的排位是基于 ref 为按照升序排列的列表。
剔除0值降序排名
公式实现:
降序排列是指:数值大的排名在前,最大数值是第一名。
在C2单元格输入公式:
=IF(B2=0,"",RANK(B2,$B$2:$B$16)):
公式解析:
公式的含义:
如果B2=0,返回空值,否则排序。
其中:
RANK(B2,$B$2:$B$16),第三个参数[指定数字排位方式的数字]省略,即是降序排列。
剔除0值升序排名
公式实现:
升序排列是指:数值小的排名在前,最小数值是第一名。
本列中:百米跑完的时间越短,名次越靠前。
在C2单元格输入公式:
=IF(B2=0,"",RANK(B2,$B$2:$B$16,1)-COUNTIF($B$2:$B$16,0)):
公式解析:
公式的含义:
如果B2=0,返回空值,否则排序。
其中:
RANK(B2,$B$2:$B$16,1):
RANK(B2,$B$2:$B$16,1)-COUNTIF($B$2:$B$16,0)):
B2的升序排名的位次减掉0值的个数,有几个0值就有几个0值的排名。