【Excel教程】条件排名
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前面我们讲过排名函数RANK,对于简单的排名,这个函数就可以,可是对于有附加条件的排名,这个函数就难办了,比如下面:
要求根据同一个产品,不同的供应商按照供货量排名,这时我们直接用rank就无法达到目的了。
下面介绍下解决对于类似这样排名的四种思路:
一、sumifs
D2中公式:
=COUNTIFS($A$2:$A$16,A2,$C$2:$C$16,">"&C2)+1
解析:
多条件计数,满足产品为对应的产品,供货量大于对应的供货量的个数,假定结果为N,说明大于该供货量的个数为N,那该供货量的排名就是N+1。
这里注意条件的正确表达">"&C2
二、sumproduct
E2中公式:
=SUMPRODUCT(($A$2:$A$16=A2)*($C$2:$C$16>C2))+1
解析:
思路和sumifs一致,多条件计数
三、index+frequency
F2中公式:
=INDEX(FREQUENCY(($A$2:$A$16=A2)*$C$2:$C$16,C2),2)+1
解析:
=FREQUENCY(($A$2:$A$16=A2)*$C$2:$C$16,C2),以供货量为区间分割点,将会返回由小于等于供货量的个数和大于供货量个数两个数字组成的数组,{小于等于供货量的个数,大于供货量的个数}然后用index({小于等于供货量的个数,大于供货量的个数},2,0)就会返回大于供货量的个数,即方法一中的N。
该供货量的排名即为N+1。
四、match+large+row
G2中公式:
=MATCH(C2,LARGE(($A$2:$A$16=A2)*$C$2:$C$16,ROW($1:$ 15)),)
数组公式,三键结束。
解析:
LARGE(($A$2:$A$16=A2)*$C$2:$C$16,ROW($1:$15)),通过large和row配合返回一个由大到小排列的供货量数组,通过match 查找供货量在该数组中的位置即供货量的该数组中的排名。
以上四种思路我也是学习得来的,仅供参考,大家有更好的思路,可以一起交流。