• ベストアンサー

MS Excelで連続したデータの個数を調べる方法を教えてください。

MS Excelで連続したデータの個数を調べる方法を教えてください。 データ範囲の中で、プラスが何個連続で出たか、その個数の最大値を知りたい。 Aの列に連続で、  1  3 -5  2  3  1  1 -1  1  2  1 とあった場合、プラスが連続した個数は、2回、4回、3回となり、その最大値の4回が得られる方法を御願します。   

質問者が選んだベストアンサー

  • ベストアンサー
  • rukuku
  • ベストアンサー率42% (401/933)
回答No.2

こんばんは 関数を使った方法です。 データはA1から入っているとします。 B1に =IF(A1>0,1,0) B2に =IF(A2>0,B1+1,0) とし、以下B2をオーフィル C1に =MAX(B:B) としますと、C1にご希望の結果が得られます。 VBAと関数、方法は違いますが、#1のmerlionXXさんの考え方とほぼ同じです。

77morimori
質問者

お礼

できました! なるほど、こういう方法があるんですね。 知っている関数でも発想が思いつきませんでした^^; ありがとうございます。解決しました。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! かなり泥臭い方法になりますが・・・ ↓の画像でB2セルに =IF(OR(A2="",A2<0),0,1) B3セルに =IF(A3="","",IF(A3<0,0,B2+1)) という数式を入れ、B3セルをオートフィルでずぃ~~~!っと下へコピーしています。 そして、結果のD2セルは =MAX(B:B) という数式にしています。 以上、参考になれば良いのですが、 他に良い方法があれば読み流してくださいね。m(__)m

77morimori
質問者

お礼

画像まで付けて頂きありがとうございます。 関数知っていても、それを上手に使いこなせいと勿体無いですね^^;

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

VBAでよければ以下の手順をおためしください。 データはA1から始まるとしてあります。 1.Altキー+F11キーで Visual Basic Editor画面を呼び出します。 2.画面上部のメニューバーから挿入、標準モジュールで出てきたコードウィンド(右側の白い広い部分)に以下のコードをコピペします。 '*****ここから下をコピペ***** Sub test01()   Dim myC As Range, i As Long, myX As Long   Set myC = Range("A1")   Do While myC <> ""     If myC.Value > 0 Then       i = i + 1     Else       i = 0     End If     myX = Application.Max(myX, i)     Set myC = myC.Offset(1)   Loop   MsgBox myX   Set myC = Nothing End Sub '*****ここより上までをコピペ***** 3.Alt+F11キーでワークシートへもどります。 4. Alt+F8キーでマクロを呼び出し「test01」を実行します。

77morimori
質問者

お礼

ありがとうございます。 マクロうまく動作しました。 スミマセン、こちらの質問内容に不足が有りました。教えて頂いて申し訳ないのですが、 MsgBoxに表示させるのではなく、最大個数を任意セルに常時表示させておきたいと思っております。

関連するQ&A