- ベストアンサー
クロス集計の方法と結果表示について
- アクセスでアンケートCSVをインポートして集計する際、クロス集計を行うことがあります。具体的には、日別に回答者の選択肢の集計を行います。
- クロス集計の結果を表示する際、回答がなかった選択番号には0を表示させることができます。
- クロス集計の結果は、日付ごとに選択番号ごとの回答数を表す表形式で表示されます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
選択肢をすべて表示するには 列見出しプロパティーに全ての選択肢番号を書きます Nullを0にするにはNZ関数を使用します
その他の回答 (1)
- DexMachina
- ベストアンサー率73% (1287/1744)
とりあえず、大まかには、 A)選択肢が「1~5」なのでしたら、常にそれが表示されるようにする B)集計されるデータがない場合の空白を、「0」に変換する という手順を経ることになるかと思います。 以下、それぞれを具体的に説明します: A)全ての選択肢が、常に列として表示されるようにする 集計対象となるデータさえあれば、列は表示されますので、全ての 選択肢をデータとして追加してしまえばOKです。 (あまりスマートな方法ではありませんが(汗)) 日付 回答者 質問1 ========================== 20080710 Aさん 1 20080710 Bさん 2 20080710 Cさん 5 (System) 1 (System) 2 (System) 3 (System) 4 (System) 5 →これにより、集計結果は以下のようになります: <クロス集計> 日付 1 2 3 4 5 ========================== 1 1 1 1 1 20080710 1 1 1 B)空白を「0」に変換する クロス集計クエリをデザインビューで開き、カウントを指定している 列を以下のように修正します: (現在) 質問1のカウント: 回答者 アンケート結果テーブル カウント 値 ※SQLビューなら「Count([アンケート結果テーブル].[回答者])」部分。 (修正後) *「テーブル」行(2行目)は空白にします。 質問1のカウント: Nz(Count([アンケート結果テーブル].[回答者]),0) カウント 値 ※SQLビューなら「Nz(Count([アンケート結果テーブル].[回答者]),0)」 に修正。 →これにより、(1行目に「日付」が空白のデータは入るものの)ご希望 の結果になるかと思います: <クロス集計> 日付 1 2 3 4 5 ========================== 1 1 1 1 1 20080710 1 1 0 0 1
お礼
詳細な説明ありがとうございました。 今回はNo2の方の方法で行ってみます。 ありがとうございました
お礼
ありがとうございます 簡単にできるとは思っていませんでしたので 助かりました。
補足
すみませんポイント付与忘れておりました