基于PO Number、Group及Start date的排名计算需求
Excel多维度排名实现方案
需求说明
针对PO Number、Group、Start date三个维度,在D列(Rank列)生成排名:
- 以PO Number为第一分组维度,每个PO单独计算排名
- 每个PO内再按Group拆分分组
- 同一PO+Group组内,按Start date的先后顺序排名(日期越早排名越靠前)
公式实现
通用兼容版(适用于所有Excel版本)
在D2单元格输入以下公式,下拉填充至所有数据行(将公式中的100替换为实际数据的最后一行行号):
=SUMPRODUCT(($A$2:$A$100=A2)*($B$2:$B$100=B2)*($C$2:$C$100<C2))+1
公式逻辑:
$A$2:$A$100=A2:匹配当前行相同的PO Number$B$2:$B$100=B2:在同PO的基础上匹配相同的Group$C$2:$C$100<C2:统计上述范围内Start date早于当前行的记录数- 加1后得到当前行在所属PO+Group组内的排名
Excel 365/2021动态数组版
如果使用支持动态数组的Excel版本,可在D2单元格输入以下公式,自动填充所有行:
=BYROW(A2:C100,LAMBDA(x,RANK.EQ(INDEX(x,3),FILTER(C:C,(A:A=INDEX(x,1))*(B:B=INDEX(x,2))),1)))
公式逻辑:
BYROW遍历每一行数据FILTER筛选出与当前行PO Number、Group均匹配的所有Start dateRANK.EQ按升序(参数1)计算当前行Start date在筛选结果中的排名
内容的提问来源于stack exchange,提问作者indika prasanna
相关产品推荐
相关产品推荐

