美式分组排名
countif函数计算百分比【要求】对下⾯的得分按部门进⾏分组降序排名。
【公式】在E2单元格中输⼊公式:
=SUMPRODUCT(($A$2:$A$16=A2)*($D$2:$D$16>D2))+1
【套路】=SUMPRODUCT((条件区域=条件)*(排名区域>排名⽬标))+1
【注意】以E2单元格为例,上⾯公式中的($A$2:$A$16=A2)是得到⼀组由逻辑值组成的结果:
{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE},⽽($D$2:$D$16>D2)同样得到⼀组:
{FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE},那么根据逻辑值与数值互换的原则:TRUE=1,FALSE=2,可以得到两组相乘的结果,⽽这⾥的乘号相当于AND的作⽤,表⽰两个结果的同时成⽴,相乘的结果为:{0;0;1;0;0;0;0;0;0;0;0;1;0;1;0},也就是说得到了⼀组同时东路两个条件的计数,然后再相加最后加上1就可以得到排名。
5
中国式分组排名
【要求】对下⾯的得分按部门进⾏降序排名。
【公式】在E2单元格中输⼊公式:
=SUMPRODUCT(($A$2:$A$16=A2)*
($D$2:$D$16>=D2)/COUNTIFS($A$2:$A$16,$A$2:$A$16,$D$2:$D$16,$D$2:$D$16))
【套路】=SUMPRODUCT((条件区域=条件)*(排名区域>排名⽬标)/COUNTIFS(条件区域1,条件区域1,排序区域,排序区域))
【注意】上⾯的公式基本于类似于中国式排名的⽅法,只在COUNTIFS的这⾥由上⾯的单个条件的COUNTIF变成了COUNTIFS函数,是为了满⾜条件排名的这个条件的需要。
6
百分⽐排名
【要求】对下⾯的得分进⾏百分⽐降序排名。
【公式】在E2单元格中输⼊公式:=PERCENTRANK($D$2:$D$16,D2)
【套路】=PERCENTRANK(排名区域,排谁)
【注意】上⾯的PERCENTRANK函数是兼容函数,这个函数可以使⽤PERCENTRANK.EXC来替代,还有⼀个函数是PERCENTRANK.INC,这两个函数的⽤法是⼀样的,区别是前者是包含0与1的,后者是不包含0与1的。
7
分组百分⽐排名
【要求】对下⾯的得分按部门的得分进⾏降序百分⽐排名。
【公式】在E2单元格中输⼊公式,按组合键<Ctrl+Shift+Enter>完成填充:
【套路】=PERCENTRANK(IF(条件区域=条件,排名区域),排谁)
【注意】上⾯的使⽤了数组公式,IF部分是是判断那些单元格是符合当前单元格的⼀个排名条件的。其基本的⽤法与上⾯的例⼦是⼀样的。
8
按权重排名
【要求】对下⾯的得分按科⽬的权重进⾏降序排名,科⽬1,科⽬2与科⽬3的权重分别为0.5,0.3与0.2。
【公式】在G2单元格中输⼊公式:
=SUMPRODUCT(1*($D$2:$D$16*0.5+$E$2:$E$16*0.3+$F$2:$F$16*0.2>D2*0.5+E2*0.3+F2*0.2))+1
【注意】上⾯公式的原理基本上类似于将每个科⽬分别乘以权重相加后再进⾏⼀般的排名,这⾥只是综合了使⽤,*1这个是将逻辑值转化成数值。
8
打包分组排名
【要求】对下⾯的得分按部分A+与A类⼀组,B与C⼀组进⾏打包分组排名。
【公式】在E2单元格中输⼊公式:
=SUMPRODUCT((SUBSTITUTE($A$2:$A$29,"A+","A")=SUBSTITUTE(A2,"A+","A"))*($D$2:$D$29>D2))+1
【注意】上⾯主要利⽤了分组排名的套路,⽽其中嵌套的关于SUBSTITUTE函数,其第⼀个参数是⽀持单元格区域的特性,当然这个例⼦还有很多的数组解法,但上⾯的解法速度⽅⾯更慢⼀筹!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论