问题来源 这种0值不参加排名次的情况,老师们是经常遇到的,那韩老师今天就讲讲如何来解决,算是韩老师送个天下教师同仁的一份小小礼物吧。 示例数据与结果: 排序函数 rank函数: 语法: RANK(number,ref,[order]) 中文语法: RANK(要找到其排位的数字,数字列表的数组,[指定数字排位方式的数字]) RANK 函数语法具有下列参数: Number必需。 要找到其排位的数字。 Ref必需。 数字列表的数组,对数字列表的引用。 Ref 中的非数字值会被忽略。 Order可选。 一个指定数字排位方式的数字。 如果 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): 第三个参数[指定数字排位方式的数字]为0,即是升序排列。 RANK(B2,$B$2:$B$16,1)-COUNTIF($B$2:$B$16,0)): B2的升序排名的位次减掉0值的个数,有几个0值就有几个0值的排名。