我只是在excel中使用公式,想知道如何计数所有0直到达到1,然后根据主题编号重新开始该过程。如果仅凭公式无法做到这一点,我如何为此编写VBA代码?
现在我正在尝试使用,
=IF(OR(F4=0,F3=1),"",COUNTIFS($A$2:A2, $A$2,$F$2:F2,0)-SUM($I$2:I2))
我在I3中输入的内容,然后更改了每个主题编号的COUNTIFS($A$#:A#, $A$#...)
部分。
这似乎可以用于最后一个分组,因为它不会在下一个主题之前输出数字。
示例数据:
subid yes number_yes(output)
1 0
1 0
1 0 3
1 1
1 0 1
1 1
1 0
2 0
2 0 2
2 1
2 0
2 0
3
etc.
答案 0 :(得分:1)
空白单元格在数值上为零,这是您接受的条件之一。区分空白和零值。
=IF(and(f4<>"", OR(F4=0,F3=1)),"",COUNTIFS($A$2:A2, $A$2,$F$2:F2,0)-SUM($I$2:I2))
答案 1 :(得分:0)
基于@Jeeped答案。如果您使用-SUMIF($A$2:A2,A3,$I$2:I2)
而非-SUM($I$2:I2)
,则无需为每个主题编号调整此部分。只需在I3中使用以下公式并将其复制下来即可。
=IF(AND(F4<>"",OR(F4=0,F3=1)),"",COUNTIFS($A$2:A3,A3,$F$2:F3,0)-SUMIF($A$2:A2,A3,$I$2:I2))
请注意,我还将COUNTIFS
中的第二个参数更改为A3
。