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

时间:2019-01-22 16:26:39

标签: excel excel-formula array-formulas

说我有一个0和1的向量,像这样:

Vector of 0's and 1's

我想找到1的序列的“行程”数(在这种情况下,“行程” = 2-有两次打开1和关闭2的次数)。我还想找到运行的最大长度(在这种情况下为3)。

我能够通过先计算差值然后运行SUMIF(参见下文)来找到运行次数,但没有找到确定运行最大长度的简洁方法。

>

# of Runs


更多具有预期结果的示例

enter image description here

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

您可以使用Countifs()进行此操作。可以使用以下方法对A1:A13单元格中的1和0列表进行计数,以得出1的运行次数:

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

enter image description here

我们只计算上一行也是1的单元格为0的次数。我们在其中添加第二个countifs()来捕获最后一行以NULL ""结尾的最后一行有价值的单元格。