Excel中遇“SI”时重置“NO”累计计数问题求助
累计NO计数重置实现方案
需求规则
- 单元格为空时,计数结果为空
- 单元格值为
SI时,重置NO累计计数,计数结果为空 - 单元格值为
NO时:- 若上一行是
SI或空单元格,从1开始重新计数 - 若上一行是
NO,则在上一行计数基础上加1
- 若上一行是
优化后公式
假设计数单元格从G3开始(对应数据单元格E3),使用以下公式:
=IF(OR(E3="",E3="SI"),"",IF(AND(E2="NO",G2<>""),G2+1,1))
公式逻辑说明
- 第一层级判断:如果当前单元格E3为空或等于
SI,直接返回空值,满足空单元格结果为空、遇到SI重置计数的要求。 - 第二层级判断:如果当前单元格E3是
NO,则检查上一行E2是否为NO且上一行计数G2不为空——如果是,就在上一行计数基础上加1;否则从1开始计数,解决空单元格后出现NO重新开始计数的需求。
原公式问题说明
你编写的公式=IF(OR(E3="SI",E3=""),"",IF(E2="No",G2+1,IF(E3="No",COUNTA(E3))))逻辑基本可行,但存在两个可优化点:
- 大小写不一致:公式里判断的是
E2="No",但实际数据是NO(大写),可能导致匹配失败 - 逻辑冗余:
IF(E3="No",COUNTA(E3))可以直接替换为1,更直观易懂
内容的提问来源于stack exchange,提问作者Mirza Usman Shafiq
相关产品推荐
相关产品推荐

