趣味のエクセルで当てよう!ロト・ナンバーズ

当選狙いで、ナンバーズ4をメインにロト、ビンゴ5などの各種データリストや、それらの分析用エクセルVBAなどについて書いてます。

継続回数集計マクロ

上の様に継続回数を集計する下記の簡単なマクロを作って集計しています。
(ここでは出目0と1が出ない継続回数を出力)


(1)ここでは、P列に条件関数を0と1で入れて集計データの最後までコピー貼り付けし、P2からマクロを動かすとP列が1の時にQ列R列に継続回数がマクロで出るようにしてます。「条件関数はここでは =IF(AND(C2="",D2=""),1,0)」
                 
(2)R列の継続回数をここでは1回~13回までCOUNTIF関数でL列から右の列に出しています。(これはマクロではなくて手動で操作なので面倒ですw)



Sub rencounter() ’連荘カウンター(継続回数)
 
      retu = ActiveCell.Column ’列位置(指定してないので)
      gyou = ActiveCell.Row
   
      i = 0
    Do Until Cells(gyou + i, retu) = ""
   
        Cells(gyou + i, retu + 1) = "" ’出力セル内容を消しておく
        Cells(gyou + i, retu + 2) = ""
      
       If Cells(gyou + i, retu) <> 0 Then
     
          Cells(gyou + i, retu + 1) = k + 1
        k = k + 1
            If Cells(gyou + i + 1, retu) = 0 Then
             rentyan = k: k = 0
                 
              Cells(gyou + i, retu + 2) = rentyan
            
            End If
       End If
        
      If i = 7000 Then Exit Do ’データ行7000まで対応(変更可)
         i = i + 1
      
    Loop
    If i = 0 Then MsgBox "データ等をチェックして下さい。": End
 
    End Sub


データ行数が多くマクロが遅くなる場合、マクロの最初は再計算オフ、最後は再計算オン
追加が必要になると思います。(「マクロのスピードアップ」見てください)
マクロのスピードアップ 



マクロ改造(案)


継続回数別集計もCOUNTIF関数を使わずマクロで出来る様に改造したいです。


条件関数もマクロで対称データ分を一括操作出来れば楽ですが?集計対象が一定でないので迷うところです。


継続回数と非継続回数を同時に集計する。


継続データと非継続データを交互に出力?
(長い継続の後の非継続がどう成っているか知りたい)