如何计数到一定值?

时间:2018-06-26 12:42:46

标签: excel excel-formula formula

我只是在excel中使用公式,想知道如何计数所有0直到达到1,然后重新开始该过程。仅公式就能实现吗?

现在我正在尝试使用,

=COUNTIF(INDIRECT(F2:F28,0)),1)

...但是它似乎不起作用。

数据:

0
1
0
1
1
0
0
0
0
0
0
1
0
1
0

6 个答案:

答案 0 :(得分:3)

您在此描述的内容在VBA中称为(Do) While循环。
诚然,VBA比公式更易于处理-实际上需要几行代码。应该是您应该考虑的事情

  

从技术上讲,您可以使用公式伪造Do While。但这是   通常我不会完全推荐这种做法。

在假定条件下,数据输入在单元格F2中开始,然后在相邻列G2中开始公式
=IF(F2=0, SUM(G1, 1), 0)并拖动整个公式。产生预期的结果

enter image description here

答案 1 :(得分:2)

B2 中输入:

=IF(OR(A2=0,A1=1),"",COUNTIF($A$1:A1,0)-SUM($B$1:B1))

并向下复制:

enter image description here

答案 2 :(得分:1)

这似乎可以根据您的示例数据进行

=COUNTIF(F2:INDEX(F:F, IFERROR(AGGREGATE(14, 7, ROW($1:2)/(F$1:F2=1), 1), ROW(F2))), 0)

enter image description here

答案 3 :(得分:1)

我有一个解决方案,但这不是很优雅。也许其他人可以对此进行改进。但是这里是:

假设您的数据在A列中。

1)如果B11,请在A1中输入0;如果0A1,请输入1

2)在B2中输入公式=IF(A2=0,B1+1,0)

3)将上述公式一直向下拖动

4)在C1中输入公式=IF(B1>B2,B1,"")

5)将上述公式一直向下拖动

6)C列现在应具有所有零计数。

答案 4 :(得分:0)

您可以在列B中使用以下公式:

=IF(A3=1,COUNTIF(A$1:A2,0)-SUM(B$1:B1),"")

从第2行开始并将其向下拖动。

答案 5 :(得分:-1)

在第一个0旁边的单元格中放入1(在我的示例中是A1,所以我在B1中放了1);
然后尝试这个= IF(A2 = A1; B1 + 1; 1)