IPC別集計では、セクション、クラス、サブクラスなどの階層別に集計している。
集計プログラムとしては単純であるが、集計後に分類内容を付加する点が他と異なっている。
以下に、IPCを集計するExcelマクロの要部を示す。
'
'==============================================
'縦項目と横項目が共に一致するコードを有する件数を集計し集計表に書き込む
'==============================================
'配列内容を初期化
For y = 2 To NY2
For x = 2 To NX2
dnn(y, x) = 0
Next x
Next y
'処理範囲の行列数を取得
Sheets(SHEETNAME01).Select
Cells(1, 1).Select
ActiveCell.CurrentRegion.Select
NY1 = Selection.Rows.Count
NX1 = Selection.Columns.Count
'配列のセルアドレスを見つける
For y1 = 2 To NY1
'縦セルアドレスを見つける.
bcode = ";" & Cells(y1, nclm1) 'コード欄読込み
flg = 0
For y2 = 2 To NY2
btate = ";" & ctate(y2)
If InStr(bcode, btate) > 0 Then
ny = y2
'横セルアドレスを見つける
byear = Cells(y1, NX1) '発行年
For x2 = 2 To NX2
If byear = cyoko(x2) Then
nx = x2
flg = 1
Exit For
End If
Next x2
'該当セルの配列データを加算する
If flg = 1 Then
dnn(ny, nx) = dnn(ny, nx) + 1
End If
End If
Next y2
Next y1
'配列内容を集計表に書き出す
Sheets(SHEETNAME02).Select
For y = 2 To NY2
For x = 2 To NX2
Cells(y, x) = dnn(y, x)
Next x
Next y
'
・分類内容を付加するExcelマクロは以下のようになっている。
'==============
'分類内容をコピーする
'==============
'処理範囲の行列数を取得
Sheets(SHEETNAME03).Select
Cells(1, 1).Select
ActiveCell.CurrentRegion.Select
NY3 = Selection.Rows.Count
NX3 = Selection.Columns.Count
'配列数を設定
ReDim dcode(NY3), dwrd(NY3)
'コードと内容を読み込む
For y = 2 To NY3
dcode(y) = Cells(y, 2)
dwrd(y) = Cells(y, 3)
Next y
'処理範囲の行列数を取得
Sheets(SHEETNAME02).Select
Cells(1, 1).Select
ActiveCell.CurrentRegion.Select
NY2 = Selection.Rows.Count
NX2 = Selection.Columns.Count
'コードが一致したら内容を付加
Cells(1, NX2 + 1) = "分類内容"
For y = 2 To NY2
For k = 2 To NY3
If Cells(y, 1) = dcode(k) Then
Cells(y, NX2 + 1) = dwrd(k)
Exit For
End If
Next k
Next y
'