如何用IF公式按路线ID生成唯一邮政编码的重置序号?
同一Route ID下唯一邮政编码的序号生成方案
需求明确:A列是Route ID(路线ID),B列是Post code(邮政编码),需生成序号规则为同一Route ID下,首个唯一邮政编码显示1,第二个显示2,以此类推;Route ID变更时序号重置为1。
以下是两种可用的Excel公式方案:
方案1:兼容所有Excel版本(下拉填充)
在C2单元格输入以下公式,然后下拉填充至所有数据行:
=COUNTIFS($A$2:A2,A2,$B$2:B2,"<>"&B2)+1
原理说明
通过COUNTIFS统计当前行及以上区域中,与当前行Route ID相同,但邮政编码不等于当前行邮政编码的记录数量,加1后即为当前唯一邮编在对应Route ID下的序号。混合引用($A$2:A2、$B$2:B2)确保下拉时范围动态扩展,同时锁定起始行。
方案2:适用于Excel 365/2021(动态数组自动溢出)
在C2单元格输入以下公式,公式会自动填充至所有数据行:
=XMATCH(B2:B10,UNIQUE(FILTER(B2:B10,A2:A10=A2:A10)),0)
原理说明
FILTER(B2:B10,A2:A10=A2:A10):筛选出当前行Route ID对应的所有邮政编码;UNIQUE(...):提取该Route ID下的唯一邮政编码列表;XMATCH(B2:B10,...,0):匹配当前邮政编码在唯一列表中的位置,即为对应序号。
内容的提问来源于stack exchange,提问作者Andy Kingdon
相关产品推荐
相关产品推荐

