我怎样才能按类别获得排名,即使有重复值,排名也是连续的?
How can I get a rank by category with ranks that are successive even with duplicate values?
我有一个数组,其中包含对应于不同 class 的员工,每个员工都有一个分数。我希望能够根据他们的 classes 对这些员工进行排名。
现在我使用的是D2=(SUMPRODUCT((B2=$B,$B)*(C2<$C:$C))+1)
,它可以让我获得排名,但是当一个分数出现两次时,排名就不连续了。
例如,在下面的 MWE 中,class A 的排名为 1、2 和 4,class B 的排名为 1 和 3,而我只想要排名 1, 2 和 3.
(为了清晰起见,classes 在此数组中排序,但在我的实际问题中并非如此)
感谢您的帮助
这是 FREQUENCY 版本:
=SUMPRODUCT((FREQUENCY(IF($B:$B=B2,$C:$C),$C:$C)>0)*($C:$C>=C2))
这是一个数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 而非 Enter 进行确认。如果正确完成 Excel 将在公式周围放置 {}
。
请注意末尾的范围比其他范围多一排。
如果可以使用新的动态数组公式,那么很多更容易:
=SUMPRODUCT(--(UNIQUE(FILTER($C:$C,$B:$B=B2))>=C2))
我有一个数组,其中包含对应于不同 class 的员工,每个员工都有一个分数。我希望能够根据他们的 classes 对这些员工进行排名。
现在我使用的是D2=(SUMPRODUCT((B2=$B,$B)*(C2<$C:$C))+1)
,它可以让我获得排名,但是当一个分数出现两次时,排名就不连续了。
例如,在下面的 MWE 中,class A 的排名为 1、2 和 4,class B 的排名为 1 和 3,而我只想要排名 1, 2 和 3.
(为了清晰起见,classes 在此数组中排序,但在我的实际问题中并非如此)
感谢您的帮助
这是 FREQUENCY 版本:
=SUMPRODUCT((FREQUENCY(IF($B:$B=B2,$C:$C),$C:$C)>0)*($C:$C>=C2))
这是一个数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 而非 Enter 进行确认。如果正确完成 Excel 将在公式周围放置 {}
。
请注意末尾的范围比其他范围多一排。
如果可以使用新的动态数组公式,那么很多更容易:
=SUMPRODUCT(--(UNIQUE(FILTER($C:$C,$B:$B=B2))>=C2))