计算' 0'之间的转换。和' 1'在Excel VBA的列中

时间:2014-08-07 10:48:31

标签: excel vba count

我有一个'0'和'1'的列意味着机器工作(0)或不工作(1)。我想知道“1”和“0”之间的变化次数,以便了解工作时间。 示例:

0000000111110000000011111100000011111111111111111000000000(在列中)

cicle将0更改为1并更改回0。 在该示例中将有3个cicles。

先谢谢你。

1 个答案:

答案 0 :(得分:1)

你说一个列,但是你没有显示一个列,你显示的是一个字符串。所以我认为这是一个字符串。

Dim s As String
s = "0000000111110000000011111100000011111111111111111000000000"
Do While InStr(s, "00")
    s = Replace(s, "00", "0")
Loop
Do While InStr(s, "11")
    s = Replace(s, "11", "1")
Loop
MsgBox (Len(s) - 1) / 2 & " cycles." '3 cycles.

但是如果你确实在列中有它们,那么这个数组公式( Ctrl - Shift - Enter )适用于我:< / p>

=SUM(IF(A2:A58-A1:A57<>0,1))/2

假设你的58个零和一个在A1范围内:A58。