Excel基于Flag的自动编号求助:Category B嵌套递增编号公式
解决方案
假设你的分类标记在A列(A1为表头,数据从A2开始),要在B列生成符合要求的B类编号:
- 在B2单元格输入以下公式,然后向下填充:
=IF(A2="A",1,IF(A2="B",COUNTIFS($A$1:A1,"B",ROW($A$1:A1)>LOOKUP(2,1/($A$1:A1="A"),ROW($A$1:A1)))+1,B1))
- 公式逻辑说明:
- 当当前行是A类时,直接设为1(标记新的A分组开始)
- 当当前行是B类时:
- 用
LOOKUP(2,1/($A$1:A1="A"),ROW($A$1:A1))定位当前行上方最近的A类行号 - 统计从该A类行之后到当前行上方的所有B类数量,加1得到当前B的编号
- 用
- 当当前行是C类(或非A/B类)时,直接继承上一行的编号,实现「保持当前编号直至下一个B出现」的需求
- 特殊情况处理:
如果第一行(A1)就是A类,B1直接输入1即可。
内容的提问来源于stack exchange,提问作者Yoss
相关产品推荐
相关产品推荐

