Excel实现U列累加至235重置、B列日期变更也清零的方案求助
Excel 分组累计重置解决方案
适用所有Excel版本的逐行公式方案
假设你的表格第1行为表头,数据从第2行开始,累计结果放在V列:
- 第一个数据行(V2单元格)输入公式:
若触发重置后当前行U列值计入新一轮累计(符合常规统计逻辑):
=IF(B2<>B1,U2,IF(V1+U2>=235,U2,V1+U2))若触发重置后当前行先写0,下一行再开始累计:
=IF(B2<>B1,0,IF(V1+U2>=235,0,V1+U2))
- 选中V2单元格,下拉填充到所有数据行即可生效。
公式逻辑说明
- 第一层
IF(B2<>B1)判断:检测当前行与上一行的日期是否一致,不一致触发日期维度的重置规则 - 第二层
IF(V1+U2>=235)判断:检测上一轮累计值加当前行U列数值是否达到阈值,达到触发累计上限的重置规则
Excel 365/2021 及以上版本动态数组方案
不需要下拉填充,输入公式后自动生成整列累计结果:
=SCAN(0,SEQUENCE(COUNTA(U2:U1000)),LAMBDA(acc,i,IF(INDEX(B:B,i+1)<>INDEX(B:B,i),INDEX(U:U,i+1),IF(acc+INDEX(U:U,i+1)>=235,INDEX(U:U,i+1),acc+INDEX(U:U,i+1)))))
调整说明
- 公式中的
U2:U1000可替换为你的实际U列数据范围 - 阈值
235可直接修改为你需要的累计上限值 - 如果B列是连续日期、需要按周分组统计,可新增辅助列转换为周数后替换公式中的B列判断即可:辅助列公式为
=WEEKNUM(B2,2)(参数2代表周一为周起始日,可根据需求调整)
内容的提问来源于stack exchange,提问作者Adrian
相关产品推荐
相关产品推荐

