プロが教える店舗&オフィスのセキュリティ対策術

お願いします
アクセスで次のようなアンケートCSVをインポートして集計しています。質問1・2に入力されるのは選択肢番号です
<アンケート結果テーブル>
名前   回答者 質問1 
==========================
20080710 Aさん   1  
20080710 Bさん   2   
20080710 Cさん   5   

上記をクロス集計を行い日別の集計を行っております。
<クロス集計>
日付   1 2 5
===========================
20080710 1 1 1 

上記の結果を回答がなかった選択番号は下記のように0を表示させたいのですがどうすればよろしいでしょうか?
日付   1 2 3 4 5
===========================
20080710 1 1 0 0 1 

A 回答 (2件)

選択肢をすべて表示するには


列見出しプロパティーに全ての選択肢番号を書きます

Nullを0にするにはNZ関数を使用します

この回答への補足

すみませんポイント付与忘れておりました

補足日時:2008/09/04 23:15
    • good
    • 0
この回答へのお礼

ありがとうございます
簡単にできるとは思っていませんでしたので
助かりました。

お礼日時:2008/08/02 15:06

とりあえず、大まかには、


 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
    • good
    • 0
この回答へのお礼

詳細な説明ありがとうございました。
今回はNo2の方の方法で行ってみます。

ありがとうございました

お礼日時:2008/08/02 15:06

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