求可计算TRUE值最长连续次数的Google Sheets公式
计算TRUE值的最长连续出现次数
要统计一行(如B4:O4)中TRUE值的最长连续出现次数——比如示例序列TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE的结果为4,你可以使用以下两种有效公式:
方法一:基于FREQUENCY函数
=ArrayFormula(MAX(FREQUENCY(IF(B4:O4, ROW(B4:O4)), IF(NOT(B4:O4), ROW(B4:O4)))))
原理:通过IF(B4:O4, ROW(B4:O4))提取所有TRUE值的行号,IF(NOT(B4:O4), ROW(B4:O4))提取所有FALSE值的行号,FREQUENCY函数会自动计算每个连续TRUE区间的长度,最后用MAX取最大值。
方法二:基于SCAN函数(更直观高效)
=MAX(SCAN(0, B4:O4, LAMBDA(a, v, IF(v, a+1, 0))))
原理:用SCAN逐单元格遍历,遇到TRUE就将累计值加1,遇到FALSE则重置为0,最终取所有累计值的最大值,就是最长连续TRUE的次数。
内容的提问来源于stack exchange,提问作者Sun
相关产品推荐
相关产品推荐

