2017-10-27 10 views
-4

Excelで私は1と0のシーケンスで構成される一連の列を持っています。各列について、その列に4以上の1秒連続1がある回数を数えようとしています。私はvbaコードの部分がこれを行う最も簡単な方法と考えていますか?VBAコードが連続しない1つをカウントする

例:ここ

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

カウントは、任意のヘルプ2.

おかげだろう。

+0

ループデータを通って、 '1'されていないものを見て行が少なくとも4個離れているかどうかを確認してください。 –

答えて

1

使用この機能:

Function Count1s(rng As Range) As Long 
Dim rArr() As Variant 
Dim i As Long 
Dim t As Long 
Dim n As Long 
t = 0 
rArr = rng.Value 

For i = 1 To UBound(rArr, 1) 
    If rArr(i, 1) <> 1 Then 
     If t + 4 <= i Then 
      n = n + 1 
     End If 
     t = i 
    End If 
Next i 
Count1s = n 
End Function 

あなたは、通常の式として、それを呼び出します。

=Count1s(A1:A12) 

enter image description here

関連する問題