Windows 11 & Office 2021 Access 2021

Accessでクロス集計表を作成(ウィザードとデザインビューで解説)

投稿日:2025年5月6日 更新日:

Accessでも、Excelのピボットテーブルのようなクロス集計表を作成できます。

クロス集計クエリを使えば、行見出しと列見出しを使った見やすい集計表が作れます。

クロス集計クエリの作成は、ウィザードを使って作成する方法と、デザインビューで手動で作る2つの方法があります。

行見出しと列見出しは、作成後に簡単に入れ替えることができます。

クロス集計クエリは、印刷やExcelへエクスポートして見やすい表が欲しいというときにも有効です。

2つのクロス集計クエリ

参考Access2010までは、ピボットテーブル機能が標準で用意されていました。しかし、Access2013以降では廃止されて、現在は[クロス集計クエリ]が最も近い代替手段になります。

Accessピボットテーブルの演算フィールドの追加

Accessのテーブルやクエリでピボットテーブルを作成した後でも、演算によるフィールドを追加することができます。 参考残念なことにAcces ...

続きを見る

テーブルの確認

3つのテーブルがあり、リレーションシップの設定をしています。

ここでは、この3つのテーブルを基にクロス集計クエリを作成します。

3つのテーブルのリレーションシップ

参考リレーションシップについては、以下の記事で解説しています。

リレーションシップの作成と参照整合性の設定

Accessでは、複数のテーブルがあって、そのテーブル間の共通フィールドを関連付けることができます。この関連付けのことを[リレーションシップ ...

続きを見る

クロス集計クエリウィザードを使って作成

クロス集計ウィザードは、1つのテーブルまたはクエリしか元データにできません。

複数のテーブルのフィールドを使うクロス集計クエリを作成する場合は、まず必要なフィールドをすべて含むクエリを作成します。

クロス集計ウィザードでは「表示項目に名前(製品名など)」を使いたい場合、事前にクエリで結合しておく必要があります。

クエリの作成

ここでは、行見出しに[製品コード]で列見出しには[販売店種別]を表示したいと思いますので、以下のようなクエリを作成します。

テーブル[T_製品コード]から[製品コード]、テーブル[T_販売店種別]から[販売店種別]、テーブル[T_売上]から[売上額]をデザイングリッドに挿入しています。

クロス集計の元になるクエリのデザインビュー

クエリを実行すると、以下のようになります。

クエリは、[Q_売上_製品コードと販売店種別]という名前で保存しています。

クエリを実行

参考既存のクエリで必要なフィールドが含まれているものがあれば、それを使用してかまいません。

クエリウィザード(クロス集計クエリ)の作成

[作成]タブの[クエリ]グループにある[クエリウィザード]をクリックします。

クエリウィザード

クエリウィザードを起動します。このウィザードは、選択クエリ、クロス集計クエリ、重複クエリ、および不一致クエリを作成するのに役立ちます。

[作成]タブの[クエリ]グループにある[クエリウィザード]

[新しいクエリ]ダイアログボックスから[クロス集計クエリウィザード]を選択して[OK]ボタンをクリックします。

[新しいクエリ]ダイアログボックスの[クロス集計クエリウィザード]

クロス集計クエリウィザードが起動します。

クロス集計を行うフィールドがあるテーブルまたはクエリを選択します。

ここでは、[クエリ]を選択して、作成した[Q_売上_製品コードと販売店種別]を選択して、[次へ]をクリックします。

クロス集計クエリウィザードでクロス集計を行うフィールドがあるテーブルまたはクエリを選択

行見出しとして使用するフィールドを選択して、中央にある[>]をクリックします。

以下のように[選択したフィールド]に[製品コード]が表示されているのを確認して、[次へ]をクリックします。

行見出しとして使用するフィールドを選択

列見出しとして使用するフィールドを選択します。ここでは、[販売店種別]を選択して、[次へ]をクリックします。

列見出しとして使用するフィールドを選択

集計する値があるフィールドと、集計方法を選択します。

ここでは、[売上額]と[合計]を選択します。

[行ごとに集計地を表示しますか?]の[集計値を表示する]のチェックボックスはオフにして、[次へ]をクリックします。

行ごとの集計値が必要であれば、オンにしてください。

集計する値があるフィールドと集計方法を選択

クエリ名を付けます。

既定では、クエリ名やテーブル名の後ろに[のクロス集計]と付けられます。

ここでは、[Q_製品コードと販売店種別のクロス集計]として[完了]をクリックします。

クエリ名の指定

以下のようなクロス集計クエリが完成します。

クロス集計表の完成

参考[行ごとに集計地を表示しますか?]の[集計値を表示する]のチェックボックスをオンにした場合の結果は、以下を参照してください。

クロス集計クエリに合計列を追加する

クエリウィザードには、クロス集計クエリウィザードの他、選択クエリウィザード、重複クエリウィザード、不一致クエリウィザードがあります。以下の記事で解説しています。

重複クエリウィザードで重複したレコードを抽出

Accessのテーブルやクエリで重複した値のレコードを見つけるには、[重複クエリウィザード]でクエリを作成しておくと便利です。 ウィザードを ...

続きを見る

不一致クエリウィザードで2つのテーブルの差分を求める

Accessで2つのテーブルの不一致レコードを抽出する方法です。 下のように[テーブルA]と[テーブルB]があります。2つのテーブルのうち、 ...

続きを見る

フォームのテキストボックスの内容をボタンをクリックしてコピー

Accessでフォームのテキストボックスの内容を、コマンドボタンをクリックしてクリップボードにコピーする方法です。 他のアプリケーションにテ ...

続きを見る

パラメータークエリで期間を指定してレコードを抽出

パラメータークエリとBetween And演算子を組み合わせると、パラメーターの入力ダイアログボックスに日付を入力して、指定した期間のみのレ ...

続きを見る

通貨型の表示にするには

数値の表示形式を通貨型に変更するには、デザインビューで[売上額の合計: 売上額]内にカーソルを置いてプロパティを表示します。

キーボードから[F4]キーを押すと、プロパティを表示できます。

キーボード[F4]キー

[標準]タブの[書式]で[通貨]を選択します。

[売上額の合計: 売上額]のプロパティで[書式]-[通貨]を選択

結果、以下のようなクロス集計クエリになります。

通貨表示にしたクロス集計

行見出しと列見出しの入れ替え

作成したクエリ[Q_売上_製品コードと販売店種別のクロス集計]をデザインビューで開くと、以下のようになっています。

クロス集計ウィザードで作成したクエリのデザインビュー

デザイングリッドの[行列の入れ替え]で列見出しと行見出しを入れ替えることができます。

[行列の入れ替え]で列見出しと行見出しを入れ替え

結果、以下のように行列が入れ替わったクロス集計クエリなります。

行列を入れ替えたクロス集計表

デザインビューからクロス集計クエリを作成

クロス集計クエリウィザードを使用しなくても、クエリ作成のデザインビューから作成することもできます。

ここでは、行見出しに[月]、列見出しに[製品コード]のクロス集計クエリを作成します。

クエリのデザイングリッドに必要なフィールドを追加します。

テーブル[T_売上]から[売上額]、テーブル[T_製品コード]から[製品コード]を挿入します。

売上年月日は、月ごとにまとめたいので、フィールドにはFormat関数を使って[yyyy/mm]の形式に入力します。

月: Format([売上年月日],"yyyy/mm")

クエリのデザインビューでデザイングリッドにフィールドを追加

参考Format関数については、Microsoftの記事を参照してください。

Format 関数 - Microsoft サポート(Microsoft)

集計クエリの作成

[クエリデザイン]タブの[表示/非表示]グループにある[集計]をクリックします。

デザイングリッドに[集計]行が追加されます。

[クエリデザイン]タブの[表示/非表示]グループにある[集計]

[売上額]で[合計]を選択し、[並べ替え]は[月]の[昇順]にします。

[売上額]で[合計]、[並べ替え]は[月]の[昇順]に設定

クエリを実行して、確認します。

クエリは、[Q_売上_月と製品コード]という名前にして保存します。

クエリを実行した結果

参考[集計]行で[合計]を指定するのを忘れないようにしてください。データを更新しても変化がない場合は、ここで[最小]や[最大]などを選択している可能性があります。

クロス集計表に変換

[集計クエリ]を[クロス集計クエリ]に変換します。

[クエリデザイン]タブの[クエリの種類]グループから[クロス集計]をクリックします。

クエリの種類:クロス集計

クエリの種類をクロス集計にします。データは、2つの値のセットによって集計されます。1つの結果はデータシートの左側に縦方向で、もう1つの結果は上部に横方向で表示されます。

[クエリデザイン]タブの[クエリの種類]グループから[クロス集計]

デザイングリッドに[行列の入れ替え]行が追加されます。以下のように設定します。

  • [月]を[行見出し]
  • [製品コード]を[列見出し]
  • [売上の合計]を[値]

デザイングリッドに[行列の入れ替え]

クエリを実行すると、以下のようになります。

クエリを実行した結果

通貨表示にするには、デザインビューで[売上額の合計]内にカーソルを置いて、プロパティを表示します。

[標準]タブの[書式]で[通貨]を選択します。

[売上額の合計: 売上額]のプロパティで[書式]-[通貨]を選択

結果、以下のようなクロス集計クエリなります。

通貨表示にしたクロス集計表

列見出しの項目の順番を変更するには

列見出しの項目の順番は変更することができます。

デザインビューでクエリプロパティを表示します。

キーボードから[F4]キーを押してプロパティを表示し、フィールドリストを表示している領域の何もない箇所でクリックすると[クエリプロパティ]が表示されます。

[クエリ列見出し]に表示したい順番にカンマ(,)で区切って入力します。テキストは、ダブルクォーテーションで囲みます。

クエリプロパティの[クエリ列見出し]

結果、以下のように並びが変わります。

列見出しを変更したクロス集計表

クロス集計クエリに合計列を追加する

ウィザードでクロス集計クエリを作成する場合、集計方法を選択する画面で[集計値を表示する]のチェックボックスをオンにして作成すると合計列が追加されます。

既定では、オンになっています。

[クロス集計クエリウィザード]で[集計値を表示する]のチェックボックスをオン

以下のようなクロス集計表が完成しますが、[合計 売上額]列が[製品コード]の右に表示されます。

デザインビューで確認すると、右端の位置になっているのですが、クエリをデータシートビューで表示すると位置が異なります。

データシートビューのまま、[合計 売上額]の列を選択してフィールド名を右端へドラッグします。

データシートビューで[合計]フィールドをドラッグで移動

デザインビューで[売上額の合計: 売上額]と[合計 売上額: 売上]を通貨表示にすると、以下のようになります。

[合計]フィールドを右端に移動して通貨表示にしたクロス集計表

手動クロス集計クエリで合計列を追加する

手動でクロス集計クエリを作成した場合でも、行ごとの合計値を表示させることができます。

[行列の入れ替え]で[値]を設定したフィールドと同じものを追加し、[集計]で[合計]、[行列の入れ替え]で[行見出し]を選択します。

フィールド名は同じにならないように気をつけてください。ここでは、[合計: 売上額]としています。

デザインビューで[合計]フィールドを追加

プロパティで書式を通貨表示にして、クエリを実行すると以下のようになります。

この場合も[合計]フィールドの位置が行見出しの右になりますので、必要であればドラッグで調整してください。

[合計]フィールドをドラッグして位置を変更

以下のようになります。

[合計]フィールドを右端に移動して通貨表示にしたクロス集計表

列見出しに[<>]と表示される場合の対処

クロス集計クエリの列見出しに[<>]が表示されることがあります。

これは、列見出しとして指定したフィールドに未入力のレコードがある場合に現れます。

列見出しに[<>]が表示されたクロス集計クエリ

上記クロス集計クエリは、列見出しに[製品コード]を指定していますが、クエリ[Q_売上_製品コードと販売店種別]でNullになっているレコードがあるためです。

こういう状態のまま、クロス集計クエリを作成すると、列見出しに[<>]が表示されます。

[製品コード]の一部が未入力になっているクエリ

クロス集計クエリでこの[<>]列を非表示にするには、デザインビューで[製品コード]フィールドの[抽出条件]に[Is Not Null]を入力して条件を指定します。

デザインビューで[製品コード]フィールドの[抽出条件]に[Is Not Null]を入力して条件を指定

以下のように[<>]と表示されていた列は非表示になります。

[<>]と表示されていた列が非表示になったクロス集計クエリ

クロス集計表をExcelへエクスポートする

クロス集計クエリを使って作成したクロス集計表をExcelへエクスポートすることができます。

出力したいクエリで右クリックして、ショートカットメニューから[エクスポート]の[Excel]をクリックします。

[外部データ]タブの[エクスポート]グループにある[Excel]をクリックしても同じです。

ショートカットメニューの[エクスポート]の[Excel]

[エクスポート-Excelスプレッドシート]ダイアログボックスが表示されます。

[ファイル名]を確認し、必要であれば修正します。保存先は、[参照]ボタンをクリックして変更できます。

エクスポートのオプションで、[書式設定とレイアウトを保存したままデータをエクスポートする]をオンにするか、オフにするかを決めます。

ここでは、オンにして、[エクスポートの完了後にエクスポート先のファイルを開く]もオンにします。

[OK]ボタンをクリックします。

[エクスポート-Excelスプレッドシート]ダイアログボックス

以下のように出力されます。

[書式設定とレイアウトを保存したままデータをエクスポートする]をオンにして出力したExcelの表

参考[書式設定とレイアウトを保存したままデータをエクスポートする]をオフにして出力した場合は、以下のようになります。

オフにすると、[エクスポートの完了後にエクスポート先のファイルを開く]はオンにできません。

[書式設定とレイアウトを保存したままデータをエクスポートする]をオフにして出力したExcelの表

エクスポート操作を保存

エクスポートすると、出力と同時に[エクスポート操作の保存]のウィンドウが表示されます。

[エクスポート操作の保存]のチェックボックスをオンにすると、以下のように展開されて名前を付けて保存できます。

[エクスポート操作の保存]のウィンドウー[エクスポート操作の保存]

[外部データ]の[エクスポート]グループにある[保存済みのエクスポート操作]をクリックすると、

[外部データ]の[保存済みのエクスポート操作]

[データタスクの管理]ダイアログボックスの[保存済みのエクスポート操作]タブが表示され、選択していつでも実行できるようになります。

[データタスクの管理]ダイアログボックスの[保存済みのエクスポート操作]タブ

参考エクスポート操作を保存しておくと、マクロにすることもできます。

Excelへエクスポートするコマンドボタンを作成する方法は、以下の記事で解説しています。

Excelへ出力(エクスポート)するコマンドボタンの作成

Access2010でテーブルやクエリをExcelへ出力するマクロを作成して、それをコマンドボタンに登録する方法です。 独立マクロを作成して ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Windows 11 & Office 2021 Access 2021

Copyright © 2001-2025 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2025 AllRights Reserved Powered by AFFINGER4.