Excel表格排名并列情况
发布网友
发布时间:2022-04-20 05:50
我来回答
共2个回答
热心网友
时间:2023-08-02 15:29
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))
热心网友
时间:2023-08-02 15:29
亲,按下图,排序时添加一个条件。
点击菜单“数据”,“排序”,跟着下图数字序号一步步操作。