アンケート結果の整理法

 偶然、梅田のジュンク堂でエクセルを使ったアンケート整理のための2冊の本に出会った。その一つが下記の鈴木氏の本である。氏のノウハウが詰め込まれている。解析法はMicrosoft Excelのデータベースとテーブルの機能を使うもので、特に目新しいものではない。
鈴木 勉 (2001):Excelでアンケートデータを入力・集計する. ディー・アート, A5判/定価本体1,600円+税.
http://www.dart-books.co.jp/books/Excel_An_Data_Nyu.html
 この本の欠点と言えば、練習のためのデータが用意されていないことである。また、分析法の紹介はクロス集計に限定されている。とはいえ、種々の解析をする前の数値データを取得することができる。
 ここでは、三重県伊勢志摩半島以南の沿岸全15市町村(13町村から返答)のデータを例に鈴木の本で紹介された方法を紹介する。詳細は鈴木の本を参照してほしい。なお、鈴木の本の一部の方法を紹介するが、当方で再構成している。
 注意しなければならないのは、半角と全角の区別を明確にすることである。半角で入力しているつもりが、日本語入力に戻っていることはよくあり、その場合、正しい結果が得られないことになる。見かけでは全角と半角の区別はつかない。鈴木は次の方法を推奨している。データが大量にある場合は、一度、テキスト出力して、ワードで読み込み、たとえば全角を半角にして、その後、テキスト出力し、それをエクセルで読み込むことでクリアできる。

目 次
1. データの入力
2. データ名の定義
3. 各選択肢の頻度の合計の求め方
4. クロス集計表の作成

1. データの入力
 列方向、つまりカレンダーの曜日方向は、アンケートの各質問(フィールド)が対応する。行方向、つまりカレンダーの週方向は、アンケートの各サンプル(レコード)に対応する。この例では各市町村。データベースで言えば、たとえば個人の住所録をイメージしてみよう。関大太郎くんのレコードには、フィールドと呼ばれる空欄があり、住所、電話番号、中元・歳暮送付記録、メモなどが記録される
 記号で回答する場合に、選択肢から一つだけ選ぶ場合と複数選択が可能な場合がある。前者を単一回答式、後者を複数回答式と仮に呼ぶと、回答者の年齢などの属性情報は当然互いに排他的カテゴリーで分ける必要があるから単一回答になる。アンケートのテーマについては単一回答式は難しく、複数回答式となる。津波防災アンケートはQ1からQ11まであるが、Q11のみ属性情報で、Q1とQ2が単一回答式、Q3からQ10までは複数回答式。
 図1はアンケート結果を整理したものである。単一回答式のQ1とQ2では選択された数字で示し、Q5-1を除いてQ3からQ9まではアルファベットで表現している。複数回答の選択肢名を区切り記号を使わず並べている。すべて数字でも問題はないが、混乱が生じにくいのではないか。

2. データ名の定義
 データの構造は先の図1のような行列の配置になっている。最上行にはフィールド名が、最左列にはレコード名が配置されている。このようなデータをエクセルではリストと呼ぶ。フィールド名は他の部分とは異なる書式、たとえば太字にする。
 データ掲載のスプレッドシートと計算結果のスプレッドシートを別にするので、データの参照を簡便にするためにデータに名をつける。その方法は、次のよう。
「最上行にフィールド名、最左列にレコード名が配置されている」行列全体をマウスで選択する。挿入/名前/定義、を選ぶ。名前と書かれた空欄に適当な名前を入力する。ここでは、tsunamiとしている。

3. 各選択肢の頻度の合計の求め方
3.1.単一回答の集計(鈴木、p. 152-)(図2
 DCOUNT関数を使う。これはセル中の数字の頻度を求める。たとえばQ1の選択肢は3個あるので、その枠を用意する。図2で枠(セルを黄色に塗っている)を用意したが、ここに計算式を入力する。たとえば、Q1の選択肢1の下の空欄には、
=DCOUNT(tsunami,データ!B1,単一回答の頻度計算!C3:C4)
という計算式を入れている。この式中の「データ!B1」は、Q1というフィールド名である。「単一回答の頻度計算!C3:C4」はQ1の選択肢1という見出しが該当する。なお,データ!,単一回答の頻度計算!,はいずれもスプレッドシート名である。スプレッドシート名の末尾には「!」をつける。
 個々の各選択肢について計算すればいいのであるが、一つ目の選択肢の計算式を入力したあと、テーブル機能を使って残りの計算式を入力することができる。
 この例ではまずマウスでC4:E5の矩形範囲を選ぶ。データ/テーブル、を選ぶと二つの空欄が表示されるが、「行の代入セル」の方に選択肢の初めの番号、つまりこの場合、マウスでC4を選ぶ。そうすると絶対値セル番号「$C$4」が表示される。「列の代入セル」の空欄はそのままにして、OKをクリックする。そうすると、他の選択肢の集計結果が表示される。
3.2.複数回答の集計(鈴木、p. 154-)(図3
 複数回答は文字データで表記したのでDCOUNTA関数を使う。無回答の場合は空白となるが、空白はカウントしない。図3の例では、選択肢を縦組みしているが、縦組みもテーブル関数で使えることを示したに過ぎない。
 選択肢の表記をそれぞれのアルファベットの両側にワイルドカードの*(アスタリスク)を付けているが、これは他の文字列があっても検索するための工夫である。以下に集計の手順を示す。Q3の例では選択肢が7つあるので、a〜gを並べている。その右列の空欄に計算結果が表示される。黄色のセルを含む枠を図3のように前もって用意する。
 まず、*a*の右の空欄(黄色のセル群の最上のセル)を選び、
=DCOUNTA(tsunami,データ!D1,複数回答の頻度計算!B3:B4)
という計算式を入れる。ここで、「データ!D1」は、Q3のフィールド名。「複数回答の頻度計算!B3:B4」はQ3の選択肢aという見出しが該当する。その集計結果が表示される。次に、単一回答の時と同様、テーブル機能を使って、一括計算をする。すべての選択肢と件数表示欄、つまりここでは、B4:C10の矩形範囲を」マウスで選択する。データ/テーブル、を選び、今回は縦書きなので、列の代入セルの空欄をクリックして、表の*a*のセル、つまりB4を選択する。$B$4が入力され、OKをクリックする。そうすると、他の選択肢の集計結果が表示される。

4. クロス集計表の作成
 ピボットテーブルでもクロス集計は可能ではあるが、複数回答を分析することができない。ここでは、これまで同様、データベースとテーブル機能を使用する。
4.1. 単一回答のクロス集計(鈴木、p. 186-)(図4
 津波防災データには単一回答はQ1とQ2だけであるから、この2項目間のクロス集計を実施する。選択肢がそれぞれ3個あるので、図4のような形になる。青色のセルは、代入セルをかねる検索条件範囲のセルを示す。黄色のセルはクロス集計の結果が示される矩形部分。赤のセルは計算式を入力するところ。
 まず、赤色の計算式入力セルをマウスで選び、次の計算式を入力する。検索条件が空白なのですべてのデータがカウントされて表示される。
=DCOUNT(tsunami,データ!B1,単一回答クロス集計!B2:C3)
ここで、「データ!B1」はQ1のフィールド名。「単一回答クロス集計!B2:C3」は検索条件範囲で条件式は入力しません。なお、データが文字の場合は関数はDCOUNTAを使用する。
 テーブル領域として、赤いセルから黄色の右下まで、つまりB6:E9の矩形範囲を選ぶ。データ/テーブル、を選び、「行の代入セル」の欄にQ2フィールド下のC3、「列の代入セル」の欄にQ1フィールド下のB3、をそれぞれ選び、結果としてそれぞれ$C$3、$B$3入を入力して、OKする。
4.2. 複数回答のクロス集計(鈴木、p. 197-)(図5
 津波防災データの複数回答のうち、Q4-1とQ4-2をクロス集計を実施する。選択肢がそれぞれ9個あるので、図5のような形になる。セルの色塗りは単一回答のクロス集計の場合と同一にしている。計算過程は単一回答の場合と同じである。赤色のセルの計算式を次に示す。
=DCOUNTA(tsunami,データ!E1,複数回答クロス集計!B2:C3)
複数回答と単一回答のクロス集計もこの同じ方法で可能である。
なお、この計算過程のエクセルファイルをダウンロードできる。

以 上