组内子组的唯一排名值

3 excel excel-formula rank

我试图获得一个独特的排名值(例如{1, 2, 3, 4}来自我的数据中的一个子组ties{1, 1, 3, 4}.SUMPRODUCT 将产生,我试图将COUNTIFS添加到最后以调整重复排名.

                subgroup
col B   col M    rank
LMN       01      1
XYZ       02        
XYZ       02    
ABC       03    
ABC       01    
XYZ       01    
LMN       02      3
ABC       01    
LMN       03      4
LMN       03      4  'should be 5
ABC       02    
XYZ       02    
LMN       01      1  'should be 2   
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经想出了这个.

=SUMPRODUCT(($B$2:$B$38705=B2)*(M2>$M$2:$M$38705))+countifs(B2:B38705=B2,M2:M38705=M2)
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

小智 6

好消息是你可以丢弃SUMPRODUCT函数并用一对COUNTIFS函数替换它.COUNTIFS可以使用完整的列引用而不会产生损害,并且即使SUMPRODUCT单元格范围仅限于数据范围,它也比SUMPRODUCT更有效.

在N2中作为标准函数,

=COUNTIFS(B:B, B2,M:M, "<"&M2)+COUNTIFS(B$2:B2, B2, M$2:M2, M2)
Run Code Online (Sandbox Code Playgroud)

必要时填写.

      rank_unique_subgroups_sample_data

  过滤结果

     rank_unique_subgroups_group_A过滤结果  rank_unique_subgroups_group_B_过滤结果 rank_unique_subgroups_group_C过滤结果