发布网友 发布时间:2022-02-25 05:10
共1个回答
热心网友 时间:2022-02-25 06:40
ok了,三层的排序,对于我用的excel2003来说,基本是极限了吧。(excel2007有countifs)
=LOOKUP(1,0/(COUNTIF($C$2:$C$9,"<="&$C$2:$C$9)=SMALL(COUNTIF($C$2:$C$9,"<="&$C$2:$C$9),ROW(A1))),$C$2:$C$9)
=LOOKUP(1,0/(IF($C$2:$C$9=E2,COUNTIF($B$2:$B$9,"<="&$B$2:$B$9))=SMALL(IF($C$2:$C$9=E2,COUNTIF($B$2:$B$9,"<="&$B$2:$B$9)),COUNTIF(E$2:E2,E2))),$B$2:$B$9)
=LOOKUP(1,0/(IF(($C$2:$C$9=E2)*($B$2:$B$9=F2),COUNTIF($A$2:$A$9,"<="&$A$2:$A$9))=SMALL(IF(($C$2:$C$9=E2)*($B$2:$B$9=F2),COUNTIF($A$2:$A$9,"<="&$A$2:$A$9)),COUNTIF(OFFSET($F$1,MATCH(E2,$E$2:$E$9,0),,ROW(F2)-MATCH(E2,$E$2:$E$9,0)),F2))),$A$2:$A$9)
公式好复杂,附件
追答的确很复杂,是数组公式。
COUNTIF($C$2:$C$9,"<="&$C$2:$C$9) 这就是数组公式,要返回每个对象的排名
COUNTIF(E$2:E2,E2) 这是普通的公式
简单解释一下:
countif 返回的结果是每个值在当列中的排名
small 是决定当前要抽取哪个排名
……
没法简单解释了。以下省略2000字吧。