You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于固定倍数及额外规则的Excel计数增减问题求解

Excel C列计数公式(适配复杂规则)

问题背景

原本用于C列基于B列60倍数计数的简单公式(=IF(B1>0,INT(1/60)+1)、=IF(B1>0,ROUNDUP(B1/60,0))无法满足额外规则,需要替换为适配以下逻辑的公式:

核心规则

  • 当B列数值达到或超过60的倍数时(比如从117直接跳到121,超过120即触发),C列计数+1
  • 每当A列数值为正时,C列计数-1
  • 以下情况计数保持不变:
    • 同时触发上述两个规则(+1与-1抵消)
    • A列数值为负
  • 初始C列默认值为1

适配公式(以C2为例,C1设为初始值1)

=C1 + IF(AND(ROUNDUP(B2/60,0) > ROUNDUP(B1/60,0), A2<=0), 1, IF(AND(A2>0, ROUNDUP(B2/60,0) <= ROUNDUP(B1/60,0)), -1, 0))

公式逻辑说明

  1. 检测B列是否跨60倍数:通过ROUNDUP(B2/60,0) > ROUNDUP(B1/60,0)判断当前行B值是否进入了更高的60倍数区间(比如121对应ROUNDUP(121/60,0)=3,117对应ROUNDUP(117/60,0)=2,差值为正即触发跨倍数)
  2. 结合A列规则计算增量:
    • 若B列跨60倍数且A列非正,计数+1
    • 若A列为正且B列未跨新倍数,计数-1
    • 其余情况(同时跨倍数且A正、A负、B未跨倍数且A非正)增量为0,保持计数不变

示例验证

假设C1初始值为1:

  • 当A2=-5,B2=50:C2=1+0=1(A为负,计数不变)
  • 当A2=0,B2=121:C2=1+1=2(B跨60倍数,A非正,计数+1)
  • 当A2=10,B2=130:C2=1-1=0(A为正,B未跨新倍数,计数-1)
  • 当A2=8,B2=182(上一行B1=179):B2的ROUNDUP值为4,B1的ROUNDUP值为3,同时触发跨倍数和A正,C2=1+0=保持原数(+1与-1抵消)

内容的提问来源于stack exchange,提问作者DZH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 10:10:03