Microsoft Access 2003の知恵をお貸し下さい。


SEOのために、「○○している時、どんなキーワードで検索しますか?」という質問をし、これをテーブルに入力しました。1つのレコードに複数のキーワード(フィールド)があります。

さて、このテーブルにまとめられたアンケート結果を、キーワード別に集計したいのですが、どのようにするのが一番良いでしょうか?

次のような一覧にしたいです。
キーワード 回答数
XXXX 5
YYYY 10
ZZZZ 7
AAAA 9
BBBB 2

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/12/16 23:10:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント27pt

1つのレコードに複数のキーワード(フィールド)があります。

そもそもこの構造自体がRDBMS向きではないわけだが。


それはともかく Access 限定なら、ピボット機能が使えると思う。

Access活用講座:ピボット機能を使う

おそらくこの機能で目的の結果が得られるはず。

id:careplanner No.2

回答回数338ベストアンサー獲得回数13

ポイント27pt

クエリの編集画面で、メニュー「表示」-「集計」を押して集計項目をクエリに表示させて

集計を、項目は「グループ化」,もう一つとなりに同じ項目を追加して集計の項目を「カウント」にすれば、項目の数を数えることができます。


http://mail2.nara-edu.ac.jp/~asait/visual_basic/access/part4.htm

id:kn1967 No.3

回答回数2915ベストアンサー獲得回数301

ポイント26pt

UNIONクエリと集計クエリを用いると良いでしょう。


まずはUNIONクエリにて集計しやすく整形します。

回答の入っているテーブルの名前がT1

フィールドの名前がF1/F2/F3/F4/F5の5つだとすれば

SQLビューにて以下のように記述して保存します。

(仮にクエリUと名づけます)

SELECT F1 FROM T1
UNION ALL
SELECT F2 FROM T1
UNION ALL
SELECT F3 FROM T1
UNION ALL
SELECT F4 FROM T1
UNION ALL
SELECT F5 FROM T1;

集計クエリはクエリビューで作成してもかまいませんし

SQLビューに直接記述してもかまいませんが

SQLで書くと以下のようなものになります。

SELECT F1,COUNT(*) FROM クエリU GROUP BY F1;

なお、以上2つのクエリはサブクエリという方法で

1つに纏めてしまう事も可能なのですが

とりあえず、機能や動作を覚えるという意味も込めて

2つのクエリのままで使う事をお勧めします。

  • id:kn1967
    ・PIVOTは「縦のものを横に」今回の質問は「横のものを縦に」
    ・集計クエリを作る方法まで説明しなくても判るスキルはあるはず。
    いずれも、他の質問を見ての想像だけど違うかな?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません