公式一: =RANK(B2,$B$2:$B$21,0) rank函数语法为RANK(number,ref,order),Number 为需要找到排位的数字。Ref 为数字列表数组或对数字列表的引用。ref 中的非数值型参数将被忽略。Order 为一数字,指明排位的方式。如果 order 为 0(零)或省略,Microsoft Excel 对数字的排位是基于 ref 为按照降序排列的列表。order 不为零,Microsoft Excel 对数字的排位是基于 ref 为按照升序排列的列表。 常规排名都用这种函数, 公式二: =SUM(IF($B$2:$B$21<=B2,"",1/(COUNTIF($B$2:B$21,B$2:B$21))))+1 首先用IF函数排除大于目标值之范围,再用1/countif(data,data)对剩下范围求出不重复值个数,那么目标值则排名在这个"不重复值个数"之下一位,故后面有"+1".(提示:1/countif(data,data)是求不重复值的标准公式) 公式三: =SUM(IF(ISNUMBER((IF(IF($B$2:$B$21<=B2,0,FREQUENCY($B$2:B$21,B$2:B$21))>0,1))),1))+1 本公式用三个IF嵌套,逐步排除小于目标值,求出大于目标值之个数,再+1即排名,关键函数——利用了FREQUENCY求出频率分布值.其中第一个IF作用是将小于目标值之范围频率分布值用0替代;第二个IF则求出频率分布值大于0之个数——等同于公式二中IF作用,第三个IF则排除其中的错误值,最后用SUM加总并+1求出最后排名 公式四: =SUM(IF(IF($B$2:$B$21<=B2,0,MATCH($B$2:B$21,B$2:B$21,)=ROW($B$2:B$21)-1),1))+1 本公式用二个IF嵌套,也是逐步排除小于目标值之数据,再找出大于目标值之个数+1则为排名.但本公式关键在于MATCH()函数与ROW()函数.首先用IF排除掉小于目标值之数据,再用MATCH()=ROW()求出目标值在单元格之排位与所有行号是否相等,最后将求出的值的个数+1得到排名. 公式五: =SUM(($B$2:$B$21>B2)*(MATCH($B$2:B$21,B$2:B$21,)=ROW($1:$20)))+1 此公式是公式四的简化(省掉两个IF),原理一致不再说明. 公式六: =SUM(--ISNUMBER(IF((($B$2:$B$21>B2)*((FREQUENCY($B$2:B$21,B$2:B$21))>0)),1)))+1 此公式是公式三的简化(少了两个IF),原理一致不再说明.
bGjLyIoq.rar
(108.26 KB, 下载次数: 182)
|