基于另一列交替值的数字独立递增公式需求
按标识独立计数并支持空白行重置的公式实现
假设标识列是B列,计数结果放在A列(从A2单元格开始),可以使用以下Google Sheets公式实现需求:
=ARRAYFORMULA( IF(B2:B="",, COUNTIFS( B2:B, B2:B, SCAN(0, B2:B, LAMBDA(acc, val, IF(val="", acc+1, acc))), SCAN(0, B2:B, LAMBDA(acc, val, IF(val="", acc+1, acc))), ROW(B2:B), "<="&ROW(B2:B) ) ) )
公式逻辑说明
- 块编号生成:
SCAN(0, B2:B, LAMBDA(acc, val, IF(val="", acc+1, acc)))会为每个单元格分配一个「块编号」——遇到空白行时编号递增,同一连续非空白数据块的编号一致,以此实现空白行后的计数重置。 - 独立计数:
COUNTIFS通过三个条件精准统计:- 匹配当前单元格的标识(Alpha/Beta)
- 匹配当前单元格所属的块编号
- 匹配行号小于等于当前行号
最终得到当前块内该标识的累计出现次数,实现Alpha和Beta的独立递增计数。
效果验证
- 对于第一组连续数据,Alpha会从1开始逐次递增到4,Beta同步从1递增到4,互不干扰。
- 遇到空白行后,新的数据块内的Alpha和Beta会重新从1开始计数,完全符合示例要求。
内容的提问来源于stack exchange,提问作者Junker Max
相关产品推荐
相关产品推荐

