龙空技术网

EXCEL---你真的会排名吗?不,你肯定不会!不信往下看

Excel小陈是我啊 191

前言:

现时姐妹们对“百分比排序公式”大体比较珍视,你们都需要剖析一些“百分比排序公式”的相关知识。那么小编在网络上汇集了一些对于“百分比排序公式””的相关知识,希望小伙伴们能喜欢,朋友们一起来学习一下吧!

今天给大家整理了Excel中的一些排名的公式,可能会对大家有一定的帮助。在学习本章之前呢,大家很有必要来了解一下美式排名与中国式排名。


美式排名:是指出现相同的数据时,并列的数据也占用名次。比如对15,15,12进行降序排名的话,排名的结果分别是第1名,第1名,第3名;美式排名中学用的函数有RANK,RANK.EQ以及RANK.AVG等。


中国式排名:是指出现相同数据时,并列数据的名次不占用其他名次。比如对15,15,12进行降序排名的话,排名的结果分别是第1名,第1名,第2名。


1美式基本排名


【要求】对下面的得分进行降序排名。

【公式】在E2单元格中输入公式:=RANK(D2,$D$2:$D$16,0)




【套路】=RANK(排谁,在所属范围排名,升序/降序)



【注意】上面的也可以使用RANK.EQ进行排名,RANK是一个兼容性函数,在新的版本中逐渐会使用RANK.EQ来替代RANK函数。使用对平均分进行排名,那么使用RANK.AVG函数即可。上面的套路中的第二个参数一定要使用绝对引用,不然会影响结果的准确性。



2多区域美式基本排名


【要求】对下面两个区域的人员进行同时排名。

【公式】在E2单元格中输入公式:=RANK(D2,($D$2:$D$16,$J$2:$J$16),0)

【公式】在K2单元格中输入公式:=RANK(J2,($D$2:$D$16,$J$2:$J$16),0)




【套路】=RANK(排谁,(在所属区域1,在所属区域1),升序/降序)



【注意】上面的中的第二个参数使用一个逗号将两个区域连接起来,叫作连接运算符,是用来将两个不相交的区域连接在一起,组成一个区域。



3中国式基本排名


【要求】对下面的得分进行降率排名。

【公式】在E2单元格中输入公式:

=SUMPRODUCT(($D$2:$D$16>=D2)/COUNTIF($D$2:$D$16,$D$2:$D$16))



【套路】=SUMPRODUCT((排序区域>=排谁) / (COUNTIF(排序区域,排序区域))



【注意】上面的公式中的($D$2:$D$16>=D2)中分别比较每个单元格中的数值与D2的大小,得到一组由TRUE与FALSE组成的结果,而根据逻辑值与数值的转换方法可以TRUE=1,FALSE=0,转换成一组0与1的组合,然后再使用COUNTIF函数计算每个排序对象出现的次数,相除以后就是除倒数,最后进行相加就可以得到结果。比如某个数字出现了两次,那么最后的结果里面相除得到两个0.5,再次相加以后就可以处到1.上面的公式的相当于计算D2:D16区域中大于等于D2的单元格中的值的不重复的个数。



4美式分组排名


【要求】对下面的得分按部门进行分组降序排名。

【公式】在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函数,其第一个参数是支持单元格区域的特性,当然这个例子还有很多的数组解法,但上面的解法速度方面更慢一筹!

标签: #百分比排序公式