【初月無料キャンペーン中】gooドクター

エクセルの同じ列内で、同じ文字が3連続出現する回数を調べたいのですが、どうしたらできるでしょうか?

例えば、A列に○、△、□、×のどれかが入力されていて、A3~A5に×、同様にA17~A19に×が入力されている場合、×が3連続で出現している回数は2回ですが、このような回数を調べる場合はどのようにしたらよいのでしょうか?

質問者からの補足コメント

  • 回答ありがとうございます。

    今回は3連続の場合のみを考えたいと思うので、4回以上連続した場合はカウントしない方向でお願いします。

    4連続の場合は4連続の場合で、また別にその出現回数を数えたいと思っていましたので...

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/05/30 19:31
gooドクター

A 回答 (2件)

こんばんは!



何とか関数で!と思ったのですが、
4個以上連続の除外が面倒なのでVBAでやってみました。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー& ペースト → Excel画面に戻り(VBE画面を閉じて)
マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から//
Dim i As Long, k As Long, cnt As Long
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "A") = Cells(i + 1, "A") Then
k = i + 1
Do While Cells(k, "A") = Cells(i, "A")
k = k + 1
Loop
If k - i = 3 Then
cnt = cnt + 1
End If
i = k - 1
End If
Next i
MsgBox cnt
End Sub 'この行まで//

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございました!

手作業でやっていた結果とだいたいあっていたので、たぶんできていると思います!

これで面倒な作業から解放されます。

お礼日時:2016/05/30 23:05

4つ以上連続した場合のカウントはどうしますか?




○、○、○、○、☓
という並びがあったとき、先頭と2番目はそれぞれ○が3つ連続して並んでいます。
このとき、「1番目から3番目」、「2番目から4番目」の2つが該当をするとして、2回とするのか、それとも3つを超えているのでカウントしないのか、はたまた、1番目からは○が4つ(3つではない)ので除外し、2番目からは3つ連続するのでカウントするのか。

条件があいまいですので、補足してください。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング