プロが教えるわが家の防犯対策術!

・ACCESS2013
・Windows7

ACCESS初心者です。アンケート調査結果をACCESSに入力しています(質問は20個,回答はABCDからひとつ選択する)。画像のような感じで,質問(Q)と,回答(ABCD)ごとの件数を表示させたいのですが,どのような方法がありますでしょうか。クエリでもレポートでもかまいません。よろしくお願いいたします。

「ACCESSでアンケート調査→回答ごとの」の質問画像

A 回答 (1件)

新規クエリをクエリデザインから作成します。


[テーブルの表示]の小窓は閉じます。
右クリックしてSQLビューに切り替えます。
SELECT; ってなっているので消して下記をコピペ。

SELECT 'A' as Q
,IIf([Q1]='A',1,0) AS Q1x
,IIf([Q2]='A',1,0) AS Q2x
,IIf([Q3]='A',1,0) AS Q3x
,IIf([Q4]='A',1,0) AS Q4x
,IIf([Q5]='A',1,0) AS Q5x
,IIf([Q6]='A',1,0) AS Q6x
,IIf([Q7]='A',1,0) AS Q7x
,IIf([Q8]='A',1,0) AS Q8x
,IIf([Q9]='A',1,0) AS Q9x
,IIf([Q10]='A',1,0) AS Q10x
,IIf([Q11]='A',1,0) AS Q11x
,IIf([Q12]='A',1,0) AS Q12x
,IIf([Q13]='A',1,0) AS Q13x
,IIf([Q14]='A',1,0) AS Q14x
,IIf([Q15]='A',1,0) AS Q15x
,IIf([Q16]='A',1,0) AS Q16x
,IIf([Q17]='A',1,0) AS Q17x
,IIf([Q18]='A',1,0) AS Q18x
,IIf([Q19]='A',1,0) AS Q19x
,IIf([Q20]='A',1,0) AS Q20x
FROM テーブル1
UNION ALL
SELECT 'B' as Q
,IIf([Q1]='B',1,0) AS Q1x
,IIf([Q2]='B',1,0) AS Q2x
,IIf([Q3]='B',1,0) AS Q3x
,IIf([Q4]='B',1,0) AS Q4x
,IIf([Q5]='B',1,0) AS Q5x
,IIf([Q6]='B',1,0) AS Q6x
,IIf([Q7]='B',1,0) AS Q7x
,IIf([Q8]='B',1,0) AS Q8x
,IIf([Q9]='B',1,0) AS Q9x
,IIf([Q10]='B',1,0) AS Q10x
,IIf([Q11]='B',1,0) AS Q11x
,IIf([Q12]='B',1,0) AS Q12x
,IIf([Q13]='B',1,0) AS Q13x
,IIf([Q14]='B',1,0) AS Q14x
,IIf([Q15]='B',1,0) AS Q15x
,IIf([Q16]='B',1,0) AS Q16x
,IIf([Q17]='B',1,0) AS Q17x
,IIf([Q18]='B',1,0) AS Q18x
,IIf([Q19]='B',1,0) AS Q19x
,IIf([Q20]='B',1,0) AS Q20x
FROM テーブル1
UNION ALL
SELECT 'C' as Q
,IIf([Q1]='C',1,0) AS Q1x
,IIf([Q2]='C',1,0) AS Q2x
,IIf([Q3]='C',1,0) AS Q3x
,IIf([Q4]='C',1,0) AS Q4x
,IIf([Q5]='C',1,0) AS Q5x
,IIf([Q6]='C',1,0) AS Q6x
,IIf([Q7]='C',1,0) AS Q7x
,IIf([Q8]='C',1,0) AS Q8x
,IIf([Q9]='C',1,0) AS Q9x
,IIf([Q10]='C',1,0) AS Q10x
,IIf([Q11]='C',1,0) AS Q11x
,IIf([Q12]='C',1,0) AS Q12x
,IIf([Q13]='C',1,0) AS Q13x
,IIf([Q14]='C',1,0) AS Q14x
,IIf([Q15]='C',1,0) AS Q15x
,IIf([Q16]='C',1,0) AS Q16x
,IIf([Q17]='C',1,0) AS Q17x
,IIf([Q18]='C',1,0) AS Q18x
,IIf([Q19]='C',1,0) AS Q19x
,IIf([Q20]='C',1,0) AS Q20x
FROM テーブル1
UNION ALL
SELECT 'D' as Q
,IIf([Q1]='D',1,0) AS Q1x
,IIf([Q2]='D',1,0) AS Q2x
,IIf([Q3]='D',1,0) AS Q3x
,IIf([Q4]='D',1,0) AS Q4x
,IIf([Q5]='D',1,0) AS Q5x
,IIf([Q6]='D',1,0) AS Q6x
,IIf([Q7]='D',1,0) AS Q7x
,IIf([Q8]='D',1,0) AS Q8x
,IIf([Q9]='D',1,0) AS Q9x
,IIf([Q10]='D',1,0) AS Q10x
,IIf([Q11]='D',1,0) AS Q11x
,IIf([Q12]='D',1,0) AS Q12x
,IIf([Q13]='D',1,0) AS Q13x
,IIf([Q14]='D',1,0) AS Q14x
,IIf([Q15]='D',1,0) AS Q15x
,IIf([Q16]='D',1,0) AS Q16x
,IIf([Q17]='D',1,0) AS Q17x
,IIf([Q18]='D',1,0) AS Q18x
,IIf([Q19]='D',1,0) AS Q19x
,IIf([Q20]='D',1,0) AS Q20x
FROM テーブル1
UNION ALL
SELECT '合計' as Q
,IIf(isnull([Q1]),0,1) AS Q1x
,IIf(isnull([Q2]),0,1) AS Q2x
,IIf(isnull([Q3]),0,1) AS Q3x
,IIf(isnull([Q4]),0,1) AS Q4x
,IIf(isnull([Q5]),0,1) AS Q5x
,IIf(isnull([Q6]),0,1) AS Q6x
,IIf(isnull([Q7]),0,1) AS Q7x
,IIf(isnull([Q8]),0,1) AS Q8x
,IIf(isnull([Q9]),0,1) AS Q9x
,IIf(isnull([Q10]),0,1) AS Q10x
,IIf(isnull([Q11]),0,1) AS Q11x
,IIf(isnull([Q12]),0,1) AS Q12x
,IIf(isnull([Q13]),0,1) AS Q13x
,IIf(isnull([Q14]),0,1) AS Q14x
,IIf(isnull([Q15]),0,1) AS Q15x
,IIf(isnull([Q16]),0,1) AS Q16x
,IIf(isnull([Q17]),0,1) AS Q17x
,IIf(isnull([Q18]),0,1) AS Q18x
,IIf(isnull([Q19]),0,1) AS Q19x
,IIf(isnull([Q20]),0,1) AS Q20x
FROM テーブル1 ;

データシートビューに切り替えてみて1と0の羅列が出来ていたらOK。
このクエリを中間クエリとして保存します。
(※このクエリはSQLビューでのみデザイン可です。)
次に、
このクエリを元に新たに集計クエリを作ります。
∑(シグマ記号)を押して
フィールドQの集計欄には、グループ化
その他の20フィールドには、合計
これでお望みの形になるハズ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!参考になりました。

お礼日時:2016/07/24 07:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!