如何依据D列PO编号条件,对唯一PO编号从1开始连续计数?
解决Excel中采购订单编号(PO Nos.)唯一连续计数问题
你的需求是:D列存有多条采购订单编号(PO Nos.),同一PO对应多件商品时会连续重复出现,要在E列生成唯一PO的连续计数(从1开始,重复PO对应同一个计数)。
你之前用的公式会统计当前行及以上相同PO的出现次数,导致重复PO的计数不断递增,不符合预期。以下是两种可行的解决方案:
通用方案(适配所有Excel版本)
在E2单元格输入以下公式,然后下拉填充整列:
=IF(D2=D1,E1,MAX($E$1:E1)+1)
- 逻辑说明:如果当前行D列的PO和上一行相同,就沿用E列上一行的计数;如果是新的PO,就取E列上方所有已有计数的最大值加1,实现新PO的递增计数。
- 注意:E1单元格需要留空或者输入
0作为初始值。
简化方案(适配Excel 365/2021及以上版本)
在E2单元格输入以下动态数组公式,输入后会自动填充整列,无需手动下拉:
=LET(x,D2:D10,SCAN(0,x,LAMBDA(a,b,IF(b=OFFSET(b,-1,0),a,a+1))))
- 逻辑说明:通过
SCAN函数遍历D列数据,判断当前PO是否和上一行相同,相同则保持计数,不同则计数加1。
内容的提问来源于stack exchange,提问作者Nir1
相关产品推荐
相关产品推荐

