☆以下のようなテーブルで、フィールド[ID]~[C]があり、文字および数字のデータが混在しています。
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
===========================================
(テーブル(1))
[ID] [A] [B] [C]
1 111 英語 10
2 222 英語 20
3 333 数学 30
4 111 国語 40
5 222 数学 50
6 333 国語 60
7 222 国語 70
8 333 英語 80
9 111 数学 90
===========================================
[課題] クロス集計クエリを作成する
(1) フィールド[A]を行見出しに設定、
フィールド[B]を列見出しに設定、
フィールド[C]を集計する項目に設定する。
(2) フィールド[C]の値を列ごとに平均を計算し、
行ごとに合計を計算する。
※ 列と行で、それぞれ集計した値を表示する
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
===========================================
[クロス集計結果]
合計 英語 国語 数学
111 140 10 40 90
222 140 20 70 50
333 170 80 60 30
---------------
平均 150 36 56 56
===========================================
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
上記のようなクロス集計クエリの結果を表示させたいのですが、
どうすればよろしいでしょうか?
また、クエリだけでは出来ない場合は、SQLで教えていただければ幸いでございます。
お手数お掛けしますが、何とぞ宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
クエリでやろうと思えば、
【テーブルからクロス集計】
Aに対する科目別の合計を出す
______合計__英語__国語__数学
111___140_____10____40____90
222___140____ 20____70____50
333___170_____80____60____30
【テーブルからクロス集計】
Bに対するAごとの合計を出す(軸を逆に考える)
______A’___合計__平均___111__222__333
英語___999___110___110/3___10___20___80
国語___999___170___170/3___40___70___60
数学___999___170___170/3___90___50___30
「A’」列はダミーです。
こうしておくと、「A’」「科目」「合計」か「平均」と3項目あるので、
同じく、クロス集計の作られ方を利用すると、
合計行のためのレコード
_______英語___国語____数学
999_____110____170_____170
または
平均行のためのレコード
_______英語___国語____数学
999___110/3__170/3___170/3
ができあがります。
【テーブルからクロス集計】に追加レコードとしてやれば、
フォームでは、同じレコードソースになります。
他のクエリ等で平均や合計を求めて、
母体のクエリ結果にレコード追加してやる、という手です。
レコード区分を設けて、明細は01、合計は02、平均は03とし並べると
おのずと後ろの方に合計、平均となります。
それか、
他のクエリ等で平均や合計を求めているのだから、
フッタ等でダイレクトにその値を取得するのがよくある例かと思います。
Dlookup関数等使うと、他テーブルのとあるフィールドの値を取得したりできます。
「フォームのフッタに合計を出す」
という観点でさがしてみてはどうでしょうか。
layy様
大変ご丁寧な回答をくださり ありがとうございました。
クロス集計を軸を逆に2回実行し、さらにクロス集計で合計と平均のレコードを作成して、追加クエリでレコードを追加して、再度クロス集計ということですね。
希望通りの結果を得ることができましたが、かなり大変な作業でした。
「フォームでフッタに合計を出す」方法は、1から勉強してからやってみます。
いろんなやり方があるのが分かり、大変勉強になりました(*^_^*)
No.2
- 回答日時:
クエリウィザードでクロス集計クエリを選択してください。
行見出し フィールド[A]
列見出し フィールド[B]
データ フィールド[C]
集計方法 合計
で
A 合計 英語 国語 数学
111 140 10 40 90
222 140 20 70 50
333 170 80 60 30
が出来ます。後はフォームなどで、クロス集計クエリの結果を元にして
フォームフッターで平均値を計算する式を設定すればお望み結果になります。
参照URL
http://www.microsoft.com/japan/office/previous/x …
もし、初めから(2)の平均値が出るようにしたい場合は、クロス集計クエリでなく
フォームでピボットテーブルを作成する形になります。
この回答への補足
ご回答いただき ありがとうございます。
クロス集計クエリまではできるのですが、その後の平均値が上手く表示できませんでした。できればクエリで完結できればと思っていたのですが、できないようですね。。。
「後はフォームなどで、クロス集計クエリの結果を元にして
フォームフッターで平均値を計算する式を設定すればお望み結果になります」とは、具体的にどのようにすればよろしいでしょうか?操作方法を教えていただけると助かります。
お手数お掛けしますが よろしくお願い致します。
No.1
- 回答日時:
同じクロス集計を考えて、
今ある、合計を出している縦軸と横軸を反対にすればできるのでは?。
合計 平均 111 222 333
英語 110 ? 10 20 80
国語 170 ? 40 70 60
数学 170 ? 90 50 30
また、この2つのパターンを用意しておき、
DLOOKUP関数を使うなりすえば相互の結果を取得できると思います。
(最終的に1つのテーブルであれば・・・。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- MySQL 三科目合計点のクラス別平均点求めるクエリ式を教えてください 1 2023/07/04 09:44
- Access(アクセス) お世話になっています いまクエリを作っています。。 デザインビューの画面の集計の欄で、「グループ化」 4 2022/09/17 17:03
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 第二回模試の3科目の各得点と合 1 2023/04/25 18:02
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのピボットで、集計値...
-
Accessの中でExcel
-
【アクセス】空白があると集計...
-
エクセル ピボットテーブルの...
-
【アクセス】クエリで、行と列...
-
Access 条件に合うレコード数を...
-
Accessのクロス集計から構成比...
-
Access データの横展開
-
前回access2000の+...
-
ACCESS 組み合わせごとに集計
-
ACCESS2000で複数のクエリをフ...
-
クロス集計クエリの合計 テキ...
-
日付型のフィールドに空白を入...
-
差込印刷での全角表示について...
-
2つのテーブルに共通するレコ...
-
SQL文で パラメータが少なすぎ...
-
ACCESS 重複データを1...
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
エクセルにおける「フィールド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ピボットでの時間集計
-
【アクセス】クエリで、行と列...
-
Accessのクロス集計から構成比...
-
エクセルのピボットで、集計値...
-
【アクセス】空白があると集計...
-
統計学 ファイ係数
-
年齢層で集計したい
-
Access 条件に合うレコード数を...
-
クロス集計の日付表示について
-
お世話になっています いまクエ...
-
アクセスの集計クエリの件
-
accessクエリでのクロス集計に...
-
Access2003 クロス集計で集計値...
-
AccessでクロスABC分析表を作り...
-
ACCESS2000で複数のクエリをフ...
-
クロス集計クエリ
-
Access クロス集計 レポート...
-
Accessの更新クエリについて質...
-
VBAでオートフィルタ後の計算
-
Excelで売上げデータの中の任意...
おすすめ情報