Excel:对具有由另一列定义的重复值的子集进行排名
Excel: Rank a subset with duplicated values defined by another column
我正在尝试创建一个基于控制列的值排名的列,如下所示:
(A) (B) (C)
Value Control Rank
100 1 8
200 1 6
200 1 7
300 0 5
310 0 4
320 1 3
350 1 2
400 1 1
在 col C
中,我使用了 RANK
和 COUNTIF
的组合以获得所有条目的总体排名,以很好地容纳重复项:
现在我如何对 col D
进行排名,如果 Control col B
的值为 1
?
,则仅考虑值
我的目标是:
请注意,我需要它以相同的方式处理重复项。
谢谢。
试试下面的公式-
=IFERROR(MATCH(A2,SORT(FILTER($A:$A,$B:$B>0),1,-1),0)+COUNTIF($A:A2,A2)-1,"")
下面是这个问题的解决方案:
=IF(B2=1,COUNTIFS(B:B,1,A:A,">"&A2)+COUNTIFS(B2:B,1,A2:A,A2),"")
可以将 B:B
和 A:A
范围分别扩展到 A48576
和 B48576
,以便对整个 sheet 进行排名。
我正在尝试创建一个基于控制列的值排名的列,如下所示:
(A) (B) (C)
Value Control Rank
100 1 8
200 1 6
200 1 7
300 0 5
310 0 4
320 1 3
350 1 2
400 1 1
在 col C
中,我使用了 RANK
和 COUNTIF
的组合以获得所有条目的总体排名,以很好地容纳重复项:
现在我如何对 col D
进行排名,如果 Control col B
的值为 1
?
我的目标是:
请注意,我需要它以相同的方式处理重复项。
谢谢。
试试下面的公式-
=IFERROR(MATCH(A2,SORT(FILTER($A:$A,$B:$B>0),1,-1),0)+COUNTIF($A:A2,A2)-1,"")
下面是这个问题的解决方案:
=IF(B2=1,COUNTIFS(B:B,1,A:A,">"&A2)+COUNTIFS(B2:B,1,A2:A,A2),"")
可以将 B:B
和 A:A
范围分别扩展到 A48576
和 B48576
,以便对整个 sheet 进行排名。