如果C5对应E5是B,求C5在C列(剔除S和空的值)中的排名;如果C5对应E5是S,求C5在C列(剔除B和空的值)中的排名,如果C5对应E5是空,求C5在C列(剔除B和S的值)中的排名,假如B对应的有两个相同值出现,会出现一前一后的排名,不会出现排名是一样的
=IF(C5="","",MATCH(C5,LARGE(($D$5:$D$1000=D5)*$C$5:$C$1000,ROW($1:$996)),)+COUNTIFS($C$4:C4,C5,$D$4:D4,IF(D5="","",D5)))
ctrl+shift+回车下拉
F5输入
=SUMPRODUCT((E$5:E$27=E5)*(C$5:C$27>=C5))
回车并向下填充。
追问你好!可以解释一下公式的含义吗
追答=SUMPRODUCT((E$5:E$27=E5)*(C$5:C$27>=C5))——乘积和函数,用统计个数法求排名。
1、(E$5:E$27=E5)——符合E列指定值。
2、(C$5:C$27>=C5)——符合大于等于指定值:
如A1=3、A2=1、A3=4、A4=2
(A$1:A$4>=A1)——A1和A3两个,得数=2,即A1为第2名;
(A$1:A$4>=A2)——A1~A4四个都是,得数=4,即A2为第4名。
如果B的值有两个相同的,排名也一样,我想要的效果是如果值相同,排名一前一后,请问公式可以怎么改进?
追答遗憾!很难实现。
本回答被网友采纳