Excel2002VBAを使っての集計方法(集計条件が多い場合)
Excel2002を使用しています。
“コード”を Sheet1のセルA1 として
下記の様なリストがあります。
コード 対象区分 件数
201 1 1
102 5 5
503 4 2
201 2 2
108 2 3
108 8 4
324 9 5
このリスト使って件数を集計するのですが、
集計条件が下記の条件です。
集計条件
コード 201 503
対象区分 1 4 7 8 9
この条件を満たす件数の合計3をExcelVBAを使って
Sheet2のセルA1に入力したいのですが、効率の良い
書き方が思い付きません。
現在の私の知識では、以前こちらでご教授頂いた
下記の方法
Dim x As Range
Dim sum
sum = 0
For Each x In Sheets(1).Range("A:A")
If x.Value = 201 _
And (x.Offset(0, 1).Value = 1 Or _
x.Offset(0, 1).Value = 4 Or x.Offset(0, 1).Value = 7 Or _
x.Offset(0, 1).Value = 8 Or x.Offset(0, 1).Value = 9) Then
sum = sum + x.Offset(0, 2).Value
End If
If x.Value = 503 _
And (x.Offset(0, 1).Value = 1 Or _
x.Offset(0, 1).Value = 4 Or x.Offset(0, 1).Value = 7 Or _
x.Offset(0, 1).Value = 8 Or x.Offset(0, 1).Value = 9) Then
sum = sum + x.Offset(0, 2).Value
End If
Next
Sheets(2).Range("A1").Value = sum
End Sub
しか分からないのですが、以前よりも仕事で扱う
コード数が増えてしまい、実際は集計条件のコード
が100ぐらいあり、
If x.Value = 集計条件のコード
・・中略・・
End If
を100近く書いて処理するのは、効率の面、速度の面からきびしくなってしまいました。
定数等を使ってやってみたものの上手くいかず煮詰まっています。
何とぞご教授よろしくお願いします。