如何在Excel中基于销售代理姓名与销售日期生成序列号
按销售人员和订单日期生成序列号的Excel公式解决方案
问题分析
你使用的=COUNTIFS(C$2:C2,"<="&C2,A$2:A2,A2)无法得到预期结果,核心原因是:同一销售人员同一天的多笔订单会被统计为同一个序号,若你需要为每笔订单生成唯一递增的序列号(或按日期+行序区分),这个公式的逻辑不匹配。
针对性公式
场景1:同一销售同一天的订单共用同序号(按日期排序)
适用于按销售人员分组,按日期先后为每一天的订单分配唯一序号,同一天的订单序号相同:
=XMATCH(C2, UNIQUE(FILTER($C$2:$C$2, $A$2:$A$2=A2)), , 1)
注:该公式需要Excel 365/2021及以上版本支持,若用旧版Excel,可改用:
=SUMPRODUCT(($A$2:$A2=A2)*(COUNTIFS($A$2:$A$2, $A$2:$A$2, $C$2:$C$2, "<"&C2)=0))
场景2:同一销售同一天的订单按行序生成唯一序号
适用于同一销售人员的订单按日期升序排列,同一天的订单按录入顺序(行位置)递增序号:
=COUNTIFS($A$2:$A2, A2, $C$2:$C2, "<"&C2) + COUNTIFS($A$2:$A2, A2, $C$2:$C2, C2, ROW($A$2:$A2), "<="&ROW(A2))
如果你的表格有订单号这类唯一标识列(假设为B列),也可以用订单号替代ROW函数,结果更准确:
=COUNTIFS($A$2:$A2, A2, $C$2:$C2, "<"&C2) + COUNTIFS($A$2:$A2, A2, $C$2:$C2, C2, $B$2:$B2, "<="&B2)
内容的提问来源于stack exchange,提问作者Sridharan
相关产品推荐
相关产品推荐

