If statement 有没有办法从最后一个条件x开始计数?

If statement 有没有办法从最后一个条件x开始计数?,if-statement,google-sheets,sum,google-sheets-formula,array-formulas,If Statement,Google Sheets,Sum,Google Sheets Formula,Array Formulas,我有一组复杂的数据,每行可以返回3个不同的条件。我需要能够计算与特定条件之一匹配的最后x行 下面的公式对我来说很有效,但我在这个公式的一个实例中发现了一个小问题(这个公式至少重复了十几次) =ArrayFormula(查找(9.9999999999999E+307),IF(频率(IF(IF(AQ:AQ)=1,行(AQ:AQ)),IF(AQ:AQ,行(AQ:AQ))=0,频率(IF(IF(AQ:AQ=1,行(AQ:AQ)),IF(AQ:AQ=0,行(AQ:AQ)))) 目前的标准如下: 0:满足条

我有一组复杂的数据,每行可以返回3个不同的条件。我需要能够计算与特定条件之一匹配的最后x行

下面的公式对我来说很有效,但我在这个公式的一个实例中发现了一个小问题(这个公式至少重复了十几次)

=ArrayFormula(查找(9.9999999999999E+307),IF(频率(IF(IF(AQ:AQ)=1,行(AQ:AQ)),IF(AQ:AQ,行(AQ:AQ))=0,频率(IF(IF(AQ:AQ=1,行(AQ:AQ)),IF(AQ:AQ=0,行(AQ:AQ))))

目前的标准如下:
0:满足条件x-重置计数器
1:满足条件y-增量计数器
2:条件z满足-忽略此行

因此:
1
2
2
2
1
1
0
1
1
1

应输出:3

这个:
1
2
0
2
2
1
2
1

应输出:2

但是,我遇到的小故障是在达到0时没有重置计数器,例如:
1
2
1
2
1
1
2
2
2
2
0

应输出:0

但实际上是输出:4

我已使用该特定数据集测试了所有可能的条件,无法纠正该问题。我相信公式中有错误(特别是9.9999999999999E+307),但我很久以前就写了它,所以无法成功调试它。我试过1E+306,但结果是一样的


编辑1:根据要求,我在重新创建问题时,已尽可能将该表的精简版本包括在内

如果滚动到工作表底部,可以看到
Col AQ
的值为0,因此单元格
AF2
中的值应为
0

您会在工作表中注意到,我使用的是命名范围


EDIT2:player0的回答非常完美<代码>=数组公式(COUNTIF(间接(“A”)& 最大值(如果((A2:A=0)*(A2:A“”),第(A2:A)+1行,第(A2)行)和第(A)行),1))



分享一份你的工作表,其中有一个所需输出的示例,它非常庞大和复杂……问题是,我不能以较小的比例再现错误,因为该公式适用于除此特定实例之外的所有实例。我可以分享这张表,但我可以保证,由于它的大小,我会在很大程度上被否决:(我已经贴了一张表,尽我所能把它删掉。)
=ARRAYFORMULA(COUNTIF(INDIRECT("A"&
 MAX(IF((A2:A=0)*(A2:A<>""), ROW(A2:A)+1, ROW(A2)))&":A"), 1))