我想在他们的子组中对一些数据进行排名。目前我使用 Rank ,如下所示:
= IF(B2<> “中”,COUNTIFS($ A $ 2:$ A $ 800,A2,$ B $ 2:$ B $ 800, “<” &安培; B2)1, “”)
它跳过空白,然而,它确实通过跳过排名数来排名重复。
如何获得 所需排名(1) 和 (2) ?请注意,有一些平淡的细胞,排名应该与SubGroup相关(即,使用一个公式,将RED中的数字和BLUE中的数字分别排列)。谢谢。
答案 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))) ))
公式返回的元素。