电子表格实现复选框勾选时临时冻结自增序列号及公式报错解决
表格动态自增序列号实现需求
- 核心功能:当B列对应项被勾选为
true时,自动递增的序列号暂时停止计数,待对应复选框取消勾选后,从冻结位置的下一个数值开始继续计数 - 运行规则:
- 勾选序号3旁的复选框时,当前位置序列号显示为2,计数流程在上一个序号处冻结
- 冻结状态下,勾选下方相邻行的复选框时,对应行的序列号同样保持2的数值,不发生递增
- 复选框取消勾选后,计数从2的下一个值3开始恢复,后续行按规则依次累计
已尝试实现方案与异常问题
- 第一版尝试公式:
异常结果:返回循环依赖报错,原系统提示为=ARRAYFORMULA(if(len(H2:H)=0,,if(F2:F=true,offset(indirect(address(row(),column())),row()-1,0,1,1)+1,offset(indirect(address(row(),column())),-1,0,1,1))))Circular dependency detected. To resolve with iterative calculation, see File > Spreadsheet Settings,对应中文说明为:检测到循环依赖,可通过「文件 > 电子表格设置」开启迭代计算解决 - 第二版尝试公式:
异常结果:公式未正常生效,返回结果与预期规则不符=ARRAYFORMULA(if(B2:B=false,INDIRECT("a"&row(A1:A))+1,INDIRECT("a"&row()-1,true)))
内容的提问来源于stack exchange,提问作者Hasan A Yousef
相关产品推荐
相关产品推荐

