こんにちは!Accessの使い方をやさしくお届けする「なかぜん」です。
「売上を月ごとにまとめたい」「担当者ごとに件数を出したい」――そんな時に大活躍するのがグループ化クエリと集計クエリです。
今回は、初心者の方でも安心して使えるように、基本から応用までを丁寧に解説していきます。
グループ化と集計クエリってなに?
まずは基本から。
グループ化クエリとは
グループ化とは、特定のフィールド(例:顧客名や日付)でデータをまとめることを言います。
集計クエリとは
集計クエリは、グループ化したデータに対して「合計」「平均」「件数」などの集計を行うクエリです。
実際の画面とSQL例で理解しよう!
例:売上テーブルの月別集計
以下のようなテーブルがあるとします:
- テーブル名:T_売上
- フィールド:売上日、担当者、金額
このテーブルから「月ごとの売上合計」を出したいときのクエリ例がこちらです。
SELECT
Format([売上日], "yyyy/mm") AS 売上月,
Sum(金額) AS 合計金額
FROM
T_売上
GROUP BY
Format([売上日], "yyyy/mm");
ポイント:Format関数で「月」単位に変換し、それをGROUP BYでまとめています。
集計クエリの作成方法(画面操作編)
- クエリ デザインを開く
- テーブル「T_売上」を追加
- フィールドに「売上日」「金額」を追加
- 「集計」ボタンをクリック(Σのアイコン)
- 売上日→「グループ化」、金額→「合計」に設定
これで、月単位の売上合計を出すクエリが完成です!
よくあるミスや注意点
- GROUP BYに指定し忘れると、集計できずにエラーになります
- Format関数で日付の粒度を調整しないと、正しくまとまらないことがあります
- NULL値があると、集計に影響が出る場合があります(Nz関数で対処)
中級者向けの応用ポイント
複数条件でのグループ化
例えば、「担当者ごと・月ごと」に集計するには、以下のように書きます。
SELECT
担当者,
Format([売上日], "yyyy/mm") AS 売上月,
Sum(金額) AS 合計金額
FROM
T_売上
GROUP BY
担当者, Format([売上日], "yyyy/mm");
WHERE句との併用
集計対象を特定の期間や条件に絞りたいときは、WHERE
句を使いましょう。
SELECT
Format([売上日], "yyyy/mm") AS 売上月,
Sum(金額) AS 合計金額
FROM
T_売上
WHERE
売上日 BETWEEN #2025/01/01# AND #2025/03/31#
GROUP BY
Format([売上日], "yyyy/mm");
まとめ|今日から使える集計テクニック
今回は、Accessの「グループ化」と「集計クエリ」の基本と活用方法についてご紹介しました。
- GROUP BYでデータをまとめる
- SUMやCOUNTなどの集計関数でデータを分析
- Format関数やWHERE句をうまく活用する
「なにを、どの単位で、どう集計したいか?」を明確にするのがポイントです。
次回は、「クロス集計クエリ」や「サブクエリを使った集計」にもチャレンジしてみましょう!
