下記(表1)のようにアンケートをExcelに打ち込んだものを渡され、
下記(表2)のような集計結果を出してほしいとの依頼を受けました。
本当は「Excelのピボット等で一発で集計をとる方法を教えてほしい」との
依頼だったのですが、私がピボットをあまり触ったことなかったため、
その場ではAccessのテーブルへ一度インポートし、VBAで「for文で回しながらSQLによる
カウント結果をExcelへ書き出していく」という処理を作成して
表2を作成するという方法でその場はしのぎました。
ピボットによる方法を知っておきたいと思い、試みているのですが
理想通りの結果を出すことができずにいます。
ピボットによる出し方の手順をご教示願います。
表1,2は補足へ記載します。
提示された集計前の生データから、ご希望のピボットテーブルは作成出来ないように思います。ご希望のピボットテーブルを作成するのであれば、生データを下記(表1a)もしくは(表1b)のように作成(もしくはvba等で変更)する必要があります。
その上で、列ラベルに[質問番号]、行ラベルと値フィールドに[回答]を指定し、レポートフィールドに[業種]もしくは[区分]を指定してピボットテーブルを作成します。なお、値フィールドの集計方法はデータの個数とします。
また、元の生データから集計結果を作成するのであれば、ピボットテーブルではなく、統計関数(COUNTIFなど)か、配列数式を使用すれば作成可能です。
不明な点があればコメントにてお知らせください。(その際、Excelのバージョンも教えてください)
(表1a)
業種 | 区分 | 質問番号 | 回答
12 | 7 | 質問1 | 1
3 | 9 | 質問1 | 3
1 | 2 | 質問1 | 4
4 | 1 | 質問1 | 5
14 | 8 | 質問1 | 4
13 | 9 | 質問1 | 4
5 | 6 | 質問1 | 2
12 | 7 | 質問2 | 4
3 | 9 | 質問2 | 1
1 | 2 | 質問2 | 3
4 | 1 | 質問2 | 1
14 | 8 | 質問2 | 4
13 | 9 | 質問2 | 5
5 | 6 | 質問2 | 2
12 | 7 | 質問3 | 3
3 | 9 | 質問3 | 2
1 | 2 | 質問3 | 3
4 | 1 | 質問3 | 3
14 | 8 | 質問3 | 6
13 | 9 | 質問3 | 1
5 | 6 | 質問3 | 4
(表1b)
業種 | 区分 | 質問番号 | 回答
12 | 7 | 質問1 | 1
12 | 7 | 質問2 | 4
12 | 7 | 質問3 | 3
3 | 9 | 質問1 | 3
3 | 9 | 質問2 | 1
3 | 9 | 質問3 | 2
: ※以下同様に
(表1)集計前の生データ
業種 | 区分 | 質問1 | 質問2 | 質問3・・・
12 | 7 | 1 | 4 | 3
3 | 9 | 3 | 1 | 2
1 | 2 | 4 | 3 | 3
4 | 1 | 5 | 1 | 3
14 | 8 | 4 | 4 | 6
13 | 9 | 4 | 5 | 1
5 | 6 | 2 | 2 | 4
※業種は1~15
※区分は1~10
※質問1,2,3の選択肢は1~5の5段階
(表2)集計結果
○業種=全て
選択肢 | 質問1(件) | 質問2(件) | 質問3(件) ・・・
1 | 98 | 67 | 62
2 | 81 | 34 | 98
3 | 23 | 76 | 29
4 | 12 | 89 | 34
5 | 38 | 28 | 98
○業種=1のとき
選択肢 | 質問1(件) | 質問2(件) | 質問3(件) ・・・
1 | 12 | 23 | 8
2 | 11 | 10 | 7
3 | 10 | 9 | 4
4 | 28 | 8 | 1
5 | 2 | 1 | 3
○業種=2のとき
:
○区分=全て
選択肢 | 質問1(件) | 質問2(件) | 質問3(件) ・・・
1 | 98 | 67 | 62
2 | 81 | 34 | 98
3 | 23 | 76 | 29
4 | 12 | 89 | 34
5 | 38 | 28 | 98
区分=1のとき
:
区分=2のとき
:
一度 回答を書いたのですが、ちょっと違ったようでしたので 修正します。
○業種=全て
選択肢 | 質問1(件) | 質問2(件) | 質問3(件) ・・・
1 | 98 | 67 | 62
このとき
選択肢が 1で 質問1(件)の98は 何でしょうか?
(表1)集計前の生データは 記載内容が足りないのでしょうか?