- ベストアンサー
MS Excelで連続したデータの個数を調べる方法を教えてください。
MS Excelで連続したデータの個数を調べる方法を教えてください。 データ範囲の中で、プラスが何個連続で出たか、その個数の最大値を知りたい。 Aの列に連続で、 1 3 -5 2 3 1 1 -1 1 2 1 とあった場合、プラスが連続した個数は、2回、4回、3回となり、その最大値の4回が得られる方法を御願します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは 関数を使った方法です。 データはA1から入っているとします。 B1に =IF(A1>0,1,0) B2に =IF(A2>0,B1+1,0) とし、以下B2をオーフィル C1に =MAX(B:B) としますと、C1にご希望の結果が得られます。 VBAと関数、方法は違いますが、#1のmerlionXXさんの考え方とほぼ同じです。
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
- merlionXX
- ベストアンサー率48% (1930/4007)
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」を実行します。
お礼
ありがとうございます。 マクロうまく動作しました。 スミマセン、こちらの質問内容に不足が有りました。教えて頂いて申し訳ないのですが、 MsgBoxに表示させるのではなく、最大個数を任意セルに常時表示させておきたいと思っております。
お礼
できました! なるほど、こういう方法があるんですね。 知っている関数でも発想が思いつきませんでした^^; ありがとうございます。解決しました。