室内设计培训
平面设计培训
部落窝教育
网站首页 >> Excel教程 >> 文章内容

excel中国式排名原理和排名公式解法剖析

[日期:2012-03-13]   来源:IT部落窝  作者:IT部落窝   阅读:5426[字体: ]
内容提要:文章详细解释excel中国式排名的排名原理,以及给出多种公式解法来完成l中国式排名计算。

  Excel中排名,大家习惯分为美式排名和中国式排名。

  美式排名通常使用RANK函数,用法比较简单,可以参考文章:rank函数实例讲解

  什么是excel中国式排名呢?咱们中国人的习惯,比如无论有几个并列第3名,之后的排名仍应该是第4名,即并列排名不占用名次,这就是中国式排名。

  下面这个案例,也是IT部落窝论坛的excel中国式排名练习题,语文成绩有两个72分,并列第一名,随后的66分为第二名……在C2单元格写公式,完成中国式排名。

excel中国式排名

  中国式排名,其实就是对一个数在一组数据中排名第几的统计,重复数排名相同,比它小的最大数的排名只低一级。通常可以使用countif,frequency和SUMPRODUCT等函数结合实现。

  下面提供几种相关的中国式排名解法:

  中国式排名解法一:
  在C2单元格输入公式,=SUM(IF($B$2:$B$6>B2,1/COUNTIF($B$2:$B$6,$B$2:$B$6)))+1,然后按ctrl+shift+enter三键结束。下拉复制公式即可得出其余的排名。

  公式解释:
  COUNTIF($B$2:$B$6,$B$2:$B$6)部分:这是一个数组运算用法,它的运算过程是:
  COUNTIF($B$2:$B$6,B2)
  COUNTIF($B$2:$B$6,B3)
  COUNTIF($B$2:$B$6,B4)
  ……
  分别统计B2、B3、B4单元格在B2:B6区域中出现的次数。得到结果为:1,1,1,2,2。其中“1”代表此单元格中的内容在B2:B6区域中只出现一次,即没有重复;“2”代表此单元格中的内容在B2:B6区域里重复2次。这一步的操作,可以得到数据是否有重复和以及重复的次数。
  1/COUNTIF($B$2:$B$6,$B$2:$B$6)部分:
  在公式编辑栏选中这部分公式,按F9键查看运算结果为:{1;1;1;0.5;0.5}。
  IF($B$2:$B$6>B2,……)部分:
  IF第一参数:$B$2:$B$6>B2的结果是:{FALSE;TRUE;FALSE;TRUE;TRUE},意思是B2单元格中的内容分别和B2:B6区域内的各个单元格内容进行大小比较。
  “IF($B$2:$B$6>B2,1/COUNTIF($B$2:$B$6,$B$2:$B$6))”,这里IF省略了第三参数,因此当得到FALSE时,此时将返回结果“FALSE”,当得到TRUE时,此时将返回对应的结果,得到的结果是{FALSE;1;FALSE;0.5;0.5}。
  接着SUM函数对IF函数内的结果进行加总,得到结果“3”。为什么还要再加上“1”呢?原因是IF函数内的测试条件是“>”,对于“B2:B6区域”里的最大值“72”而言,得到的结果是{FALSE;FALSE;FALSE;FALSE;FALSE},那么SUM函数计算得到的值就是“0”,显然排名第0位,不符合常识,因此要额外加上“1”。
  这个中国式排名公式的核心部分就是:“1/COUNTIF($B$2:$B$6,$B$2:$B$6)”,目的是避免重复计算相同项。

  中国式排名解法二:
  C2单元格输入公式:=SUMPRODUCT(($B$2:$B$6>=B2)/COUNTIF($B$2:$B$6,$B$2:$B$6)),下拉复制即可。
  这个公式的思路也是不重复计数。具体的公式解释,请参看文章:
http://www.ittribalwo.com/show.asp?id=1257

  中国式排名解法三:
  使用FREQUENCY 函数的数组解法完成。B2公式为:=SUM(--(FREQUENCY(B$2:B$6,IF(B$2:B$6>=B2,B$2:B$6))>0)),三键结束。

  中国式排名解法四:
  =SUMPRODUCT((B$2:B$6>B2)*(1/(COUNTIF(B$2:B$6,B$2:B$6))))+1

  中国式排名解法五:
  =SUM(--IF($B$2:$B$6>=B2,MATCH($B$2:$B$6,$B$2:$B$6,)=ROW($2:$6)-1))

IT部落窝PS,CDR,213班 分享到: QQ空间 新浪微博 腾讯微博 人人网
photoshop教程
Photoshop教程
平面设计教程
Photoshop教程