如何在Excel中按Type分组并基于Date添加排名列
在Excel中按Type分组、基于Date字段生成组内排名的方法
以下两种方法可实现按Type字段分组,每组内较早的Date对应较小排名值的需求:
方法一:传统函数法(适用于所有Excel版本)
假设数据位于A列(Type)和B列(Date),在C2单元格输入以下公式,然后下拉填充至所有行:
=COUNTIFS($A$2:$A$6, A2, $B$2:$B$6, "<"&B2) + 1
公式说明:
COUNTIFS($A$2:$A$6, A2, $B$2:$B$6, "<"&B2):统计当前行所在Type组中,日期早于当前行日期的记录数量- 加
1后得到当前行在组内的排名,日期越早排名值越小
方法二:动态数组法(适用于Excel 365/2021及以上版本)
无需下拉填充,在C2单元格输入以下公式,Excel会自动生成所有行的排名:
=BYROW(A2:A6, LAMBDA(row, COUNTIFS(A2:A6, INDEX(row,1), B2:B6, "<"&INDEX(row,2)) + 1))
公式说明:
BYROW遍历每一行数据- 对每行数据,用
COUNTIFS统计同组内更早日期的记录数,加1得到排名
注意事项
- 确保
Date列是真正的日期格式,而非文本格式。若为文本,需先选中列,右键设置单元格格式为「日期」,或用DATEVALUE函数转换为日期值。
内容的提问来源于stack exchange,提问作者Learner27
相关产品推荐
相关产品推荐

