Excel中按日期与人员列生成统一非重复计数(保留重复行)
问题解决:生成人员出现时间的逆序计数
根据需求,同一日期+同一人员的重复行需赋予相同Count值,Count从1开始标识最近的出现时间,以下是两种可行的Excel公式方案:
方案1:Excel 365/2021 动态数组公式
在C2单元格输入公式后回车,自动填充整列:
=LET( unique_pairs, UNIQUE(A2:B10), ranked, RANK.EQ(INDEX(unique_pairs,,1), INDEX(unique_pairs,,1), 1), match_vals, XMATCH(A2:B10, unique_pairs), INDEX(ranked, match_vals) )
公式说明
UNIQUE(A2:B10):提取所有唯一的「日期-人员」组合RANK.EQ(...):对每个唯一组合的日期做降序排名(最近的日期排名为1)XMATCH:匹配当前行的「日期-人员」组合在唯一列表中的位置INDEX:将对应排名值返回给每一行
方案2:兼容旧版Excel的公式
在C2单元格输入公式后下拉填充:
=SUMPRODUCT(--(B2=$B$2:$B$10),--(A2<$A$2:$A$10))+1
公式说明
--(B2=$B$2:$B$10):筛选出当前人员的所有记录--(A2<$A$2:$A$10):统计当前人员中日期比当前行晚的记录数量- 加1后得到最终Count值(最近的日期统计结果为0,加1后为1,完全符合需求)
内容的提问来源于stack exchange,提问作者Ryan James
相关产品推荐
相关产品推荐

