今天给大家分享四种用EXCEL进行排名的方法~
假设现在要对列表中的8个班级人数进行排名,使用四种方法得出的结果见上图
下面详细介绍下四种用法
参数说明:
Number:需要排名的数字
Ref : 需要排名的数据范围 (需加绝对引用哦)
Order : 用于指定数字的排位方式的数字 (降序或者升序)
如果 order 为 0(零)或忽略,数字的排位按照降序排序
如果 order 不为零,数字的排位按照升序排序
❶ 函数名称:RANK
函数语法:RANK(number,ref,[order])
特点: 对重复数的排位相同,但重复数的存在将影响后续数值的排位
语法见红色框,其中"B3“”为需要排名的数值,"$B$3:$B$10“”为排名数据范围(记得要加绝对引用哦),
“0”表示按照从大到小排名(若不为0,则按照从小到大排序)
可以看到,4班和6班人数均为47人,排名均为第二,2个重复数占用了2个位置,故7班排名为第四,无第三名;
注:此函数为早期版本,现可被新函数方法二、方法三替代
❷ 函数名称:RANK.AVG
函数语法:RANK.AVG(number,ref,[order])
特点:数字的排位是其大小与列表中其他值的比值;如果多个值具有相同的排位,将返回平均排位。
语法同方法1,但重复数输出结果与方法1不同
4班和6班2个重复数占用2个排位(占用第二、第三位),但输出结果为平均排名,
即(2+3)/2=2.5;
❸ 函数名称:RANK.EQ
函数语法:RANK.EQ(number,ref,[order])
特点:对重复数的排位相同。但重复数的存在将影响后续数值的排位。
(与方法1类似,此处不再详述)
❹ 组合函数: SUMPRODUCT&COUNTIF
函数语法:SUMPRODUCT((ref>Number)/COUNTIF(ref,ref))+1
特点:对重复数的排位相同。但重复数的存在不影响后续数值的排位。
语法说明:
COUNTIF(B$3:$B$10,B$3:B$10)表示分别求出B3,B4,B5,……,B10在B3:B10区域里的个数;
以1班为例,COUNTIF返回的数组结果为 {1;1;1;2;1;2;1;1},B4/B6重复,个数为2;
$B$3:$B$8>B3,判断在B3,B4,B5,……,B8是否有数据大于B3,结果返回真(1)或假(0);
以1班为例,返回的数组结果为{FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE}
上述两个结果相除,得出数组 {0,1,0,1/2,1,1/2,1,1}
用sumproduct把所得的结果相加得“5”(0+1+0+1/2+1+1/2+1+1),再加1,得出1班排名结果为“6”,
排名结果为去除4班和6班重复值的排名。
以上四种方法大家可根据实际需求选择,欢迎交流探讨~
网友评论