如何使用 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))))
假设我有一个 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))))