Google 工作表 - 如何计算一列上的非零数字条纹

Google Sheets - How to count streaks of non-zero numbers on one column

我有一个包含各种数字的字数列,但每个单元格都有一个公式。所以我只想计算具有非零数字的单元格并在它达到零时停止。换句话说,连续上垒。

100
200
400
100
200
0
200
300
0

本例中最长的连胜是 5。我可以用什么公式来计算?我已经试过了,但它正在寻找空白单元格而不是带有“0”的单元格 =ArrayFormula(match(TRUE,ISBLANK('Daily Count'!B2:B),0)-1)

尝试:

=ARRAYFORMULA(MMULT(SPLIT(FLATTEN(SPLIT(TRIM(QUERY(A1:A,,9^9)), " 0 ", )), " ")*1, 
   SEQUENCE(COLUMNS(SPLIT(FLATTEN(SPLIT(TRIM(QUERY(A1:A,,9^9)), " 0 ", )), " ")), 1, 1, )))

最长罢工时间:

=INDEX(COLUMNS(SPLIT(FLATTEN(SPLIT(TRIM(QUERY(A1:A,,9^9)), " 0 ", )), " ")))

列出所有警示:

=ARRAYFORMULA(LEN(QUERY(SUBSTITUTE(FLATTEN(SPLIT(TRIM(QUERY(
 IF(A1:A<>0, 1, 0),,9^9))&" ", " 0 ", )), " ", ), "where Col1 <> '0'")))

经典方法(同样的方法适用于Excel)是使用频率:

=ArrayFormula(max(frequency(if(B2:B>0,row(B2:B)),if(B2:B<=0,row(B2:B)))))