excel排名_EXCEL条件排名你遇到过吗?

前面我们讲过排名函数RANK,对于简单的排名,这个函数就可以,可是对于有附加条件的排名,这个函数就难办了,比如下面:

5905d61a9add8220a05f22c5a21bff6b.png

要求根据同一个产品,不同的供应商按照供货量排名,这时我们直接用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查找供货量在该数组中的位置即供货量的该数组中的排名。

转自:米宏Office

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值