具有重复值的Excel条件排名

时间:2016-07-27 08:52:50

标签: excel excel-formula

我想在他们的子组中对一些数据进行排名。目前我使用 Rank ,如下所示:

= IF(B2<> “中”,COUNTIFS($ A $ 2:$ A $ 800,A2,$ B $ 2:$ B $ 800, “<” &安培; B2)1, “”)

它跳过空白,然而,它确实通过跳过排名数来排名重复。

如何获得 所需排名(1) (2) ?请注意,有一些平淡的细胞,排名应该与SubGroup相关(即,使用一个公式,将RED中的数字和BLUE中的数字分别排列)。谢谢。

enter image description here

1 个答案:

答案 0 :(得分:1)

不确定您为什么不想使用IRepo<T1, T2>功能。

我做了,我使用了以下定义的名称:

RANK

由于表是按SubGroup排序的,因此我可以使用SubGroup =Sheet1!$A$2:$A$800 Values =Sheet1!$B$2:$B$800 函数和 height 参数来仅返回每个子组的相关值。

<强> RANK

OFFSET

UNIQUE RANK

=IF(B2="","",RANK(B2,OFFSET($A$1,MATCH(A2,SubGroup,0),1,COUNTIF(SubGroup,A2)),1))

DENSE RANK

=IF(B2="","",RANK(B2,OFFSET($A$1,MATCH(A2,SubGroup,0),1,COUNTIF(SubGroup,A2)),1)+COUNTIFS($A$2:A2,A2,$B$2:B2,B2)-1)

请注意,DENSE RANK公式中的最后一项有一个元素,而不是=IF(B2="","",SUMPRODUCT( (FREQUENCY(OFFSET($A$1,MATCH(A2,SubGroup,0),1,COUNTIF(SubGroup,A2)), OFFSET($A$1,MATCH(A2,SubGroup,0),1,COUNTIF(SubGroup,A2))) > 0) * (B2 >= OFFSET($A$1,MATCH(A2,SubGroup,0),1,1+COUNTIF(SubGroup,A2))) )) 公式返回的元素。

enter image description here