二次元配列集計
行と列でデータ集計
1. 二次元配列
📦行と列でデータを管理できる配列
同一配列で集計するサンプルデータ
| 組別合計 | 1学期 | 2学期 | 3学期 | |
|---|---|---|---|---|
| 学期合計 | ||||
| A組 | 120 | 150 | 130 | |
| B組 | 110 | 140 | 160 | |
| C組 | 100 | 130 | 120 |
Dim sales(2, 2) As Integer
'A組
sales(1, 1) = 120
sales(1, 2) = 150
sales(1, 3) = 130
'B組
sales(2, 1) = 110
sales(2, 2) = 140
sales(2, 3) = 160
'C組
sales(3, 1) = 100
sales(3, 2) = 130
sales(3, 3) = 120
2. 集計
📦集計サンプルコード
Dim sales(3, 3) As Integer
Dim r, c As Integer
'配列(sales)を初期化
For r = 0 To UBound(sales,1)
For c = 0 To UBound(sales,2)
sales(r, c) = 0
Next
Next
'データ設定
Call SetSalesData(sales)
'集計処理
For r = 1 To UBound(sales,1)
For c = 1 To UBound(sales,2)
sales(r, 0) = sales(r, 0) + sales(r, c)
sales(0, c) = sales(0, c) + sales(r, c)
sales(0, 0) = sales(0, 0) + sales(r, c)
Next
Next
'出力処理
Debug.Print vbTab & "組別合計" & vbTab & "1学期"
& vbTab & "2学期" & vbTab & "3学期"
For r = 0 To UBound(sales,1)
If r = 0 Then
Debug.Print "学期合計";
Else
Debug.Print Chr(64 + r) & "組";
End If
For c = 0 To UBound(sales,2)
Debug.Print vbTab & sales(r, c);
Next
Debug.Print
Next
📍UBound関数
UBound(配列名, 次元番号)
- 第1次元 → 1(行)
- 第2次元 → 2(列)
📍Call
- サブルーチンを呼び出し、実行。
📍VBTab
- タブ文字。出力結果の位置をそろえる。
📍Chr 関数
- 文字コードを文字に変換。
- Chr(65) → A
- Chr(66) → B
- Chr(67) → C
📍ByRef
- 引数を参照渡し。サブルーチン内で変更した内容が呼び出し元にも反映される。
📝データ 設定/出力
Sub SetSalesData(ByRef sales() As Integer)
'A組
sales(1, 1) = 120
sales(1, 2) = 150
sales(1, 3) = 130
'B組
sales(2, 1) = 110
sales(2, 2) = 140
sales(2, 3) = 160
'C組
sales(3, 1) = 100
sales(3, 2) = 130
sales(3, 3) = 120
End Sub
組別合計 1学期 2学期 3学期
学期合計 1160 330 420 410
A組 400 120 150 130
B組 410 110 140 160
C組 350 100 130 120
3. オリジナル_二次元配列集計
📦出力画面

📘 ダウンロード教材について
この教材は、全国商業高等学校協会の情報処理検定の過去問題をもとに作成された、
学習支援用のマクロ付きExcelファイルです。
- マクロは 売上集計や平均点の計算など、検定形式に沿った処理を行います。
- 外部との通信やファイル操作は一切行いません。
- 教育目的で無償提供しており、改変・再配布はご遠慮ください。
ご利用の際は、マクロを有効にする必要があります。学校のPCで使用する場合は、先生にご確認ください。
| ファイル名 | サイズ (KB) | ダウンロード |
|---|---|---|
| オリジナル_二次元配列集計01.zip | 12 |