组内子组的唯一排名值
Unique Rank value for a subgroup within a group
我正在尝试从我的数据中的子组中获取唯一的排名值(例如 {1, 2, 3, 4}
。SUMPRODUCT 将生成 ties{1, 1, 3, 4}
,我正在尝试将 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
到目前为止,我已经想到了这个。
=SUMPRODUCT(($B:$B705=B2)*(M2>$M:$M705))+countifs(B2:B38705=B2,M2:M38705=M2)
我做错了什么?
好消息是您可以扔掉 SUMPRODUCT function and replace it with a pair of COUNTIFS functions。 COUNTIFS 可以使用完整的列引用而不会造成损害,并且比 SUMPRODUCT 效率高得多,即使 SUMPRODUCT 单元格范围限制在数据范围内也是如此。
在N2中作为标准函数,
=COUNTIFS(B:B, B2,M:M, "<"&M2)+COUNTIFS(B:B2, B2, M:M2, M2)
根据需要填写。
Filtered Results
基于OP的解决方案
研究您的 post 要求 post 任何替代方案,我对基于您通过 SUMPRODUCT
函数的原始方法的解决方案感兴趣。
IMO 这可以显示正确的方法为了艺术:
应用方法
获取
a) 所有组值小于或等于当前值的当前id
减
b)当前组值相同的id个数从当前行开始计数
PLUS
- c) 1的增量
公式示例,例如在 N5 单元格中:
=SUMPRODUCT(($B:$B705=$B5)*($M:$M705<=$M5))-COUNTIFS($B5:$B705,$B5,$M5:$M705,$M5)+1
P.S.
当然,我同意你也更喜欢上面的 posted 解决方案:+)
我正在尝试从我的数据中的子组中获取唯一的排名值(例如 {1, 2, 3, 4}
。SUMPRODUCT 将生成 ties{1, 1, 3, 4}
,我正在尝试将 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
到目前为止,我已经想到了这个。
=SUMPRODUCT(($B:$B705=B2)*(M2>$M:$M705))+countifs(B2:B38705=B2,M2:M38705=M2)
我做错了什么?
好消息是您可以扔掉 SUMPRODUCT function and replace it with a pair of COUNTIFS functions。 COUNTIFS 可以使用完整的列引用而不会造成损害,并且比 SUMPRODUCT 效率高得多,即使 SUMPRODUCT 单元格范围限制在数据范围内也是如此。
在N2中作为标准函数,
=COUNTIFS(B:B, B2,M:M, "<"&M2)+COUNTIFS(B:B2, B2, M:M2, M2)
根据需要填写。
Filtered Results
基于OP的解决方案
研究您的 post 要求 post 任何替代方案,我对基于您通过 SUMPRODUCT
函数的原始方法的解决方案感兴趣。
IMO 这可以显示正确的方法为了艺术:
应用方法
获取
a) 所有组值小于或等于当前值的当前id
减
b)当前组值相同的id个数从当前行开始计数
PLUS
- c) 1的增量
公式示例,例如在 N5 单元格中:
=SUMPRODUCT(($B:$B705=$B5)*($M:$M705<=$M5))-COUNTIFS($B5:$B705,$B5,$M5:$M705,$M5)+1
P.S.
当然,我同意你也更喜欢上面的 posted 解决方案:+)