如何使用 Excel 公式查找 0 和 1 向量中 1 的出现次数和最大长度

How to find number of occurences and max length of a 1's in a vector of 0's and 1's with Excel formulas

假设我有一个 0 和 1 的向量,如下所示:

我想找到 1 序列的 "runs" 的数量(在本例中 "runs" = 2 -- 1 有两次打开和关闭)。我还想找到 运行 的最大长度(在本例中为 3)。

我能够通过首先计算差异然后 运行ning a SUMIF(见下文)找到 运行 的数量,但没有找到简洁的确定 运行.

的最大长度的方法


具有预期结果的更多示例

你可以用 Countifs() 做到这一点。单元格 A1:A13 中的 1 和 0 列表可以使用以下方法计算 1 的运行:

=COUNTIFS(A2:A14, 0,  A1:A13, 1) + COUNTIFS(A2:A14, "",  A1:A13, 1)

我们只是计算前一行也为 1 的单元格为 0 的次数。我们在其中添加第二个 countifs() 以捕获以 NULL [=13] 结尾的最后一行=] 值单元格。

对于最大的序列,您可以使用此数组公式,因此请使用 CTRL、SHIFT 和 ENTER 进行确认。

=MAX(FREQUENCY(IF((A1:A10=1)*(A1:A10<>""),ROW(A1:A10)),IF(A1:A10=0,ROW(A1:A10))))