我有一个'0'和'1'的列意味着机器工作(0)或不工作(1)。我想知道“1”和“0”之间的变化次数,以便了解工作时间。 示例:
0000000111110000000011111100000011111111111111111000000000(在列中)
cicle将0更改为1并更改回0。 在该示例中将有3个cicles。
先谢谢你。
答案 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。