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 中,我使用了 RANKCOUNTIF 的组合以获得所有条目的总体排名,以很好地容纳重复项:

现在我如何对 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:BA:A 范围分别扩展到 A48576B48576,以便对整个 sheet 进行排名。