• ベストアンサー

複数条件を指定したアンケートの集計

エクセルでアンケートの集計をしようと思っています。 質問が10個あって、回答は1~4の数字で答えます。 当初それだけのものを作ったので、COUNTIFで 回答の個数を数えさせて、アンケート集計を行っていたのですが、 対象者の区分別に集計しなくてはいけなくなりました。 例えば以下のようなデータで 「区分:普通 で 質問:2 と答えている人」の数を 数えるようにしたいのです。 その場合どうしたらよいのでしょうか? 区分 質問 普通 2 普通 1 普通 2 特殊 1 普通 3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

簡単にエクセルで同じようなものを作ってみました。 質問の答えとしてあっているかどうかわかりませんが、 普通 で 2 と答えている人の数を数えれたので書き込みました。 ※上記の”区分”の場所をA1 ”質問”の場所をB1 最後の行を20行とする。 (1)まず質問のとなりに4つ列を用意します。 (2)追加した4つの列はCDEFですので、C2へ下記の関数を入力します。 =IF(A2="普通",IF(B2=1,"1",""),"") これはもしA2が”普通”だった場合、B2が1と入力されていれば1と表示し、そうでなければ空白を表示し、さらに普通出なければ空白を表示するという関数です。 (3)C2へ入力した関数を連続データで最後の行までコピーします。 (4)そうすると、”普通”で”1”となったもののみ、”1”と表示されているはずです。 (5)C2同様にD2へ =IF(A2="普通",IF(B2=2,"2",""),"") と入力し、普通で2のみを2と表示させます。 (6)E2F2も同様 =IF(A2="普通",IF(B2=3,"3",""),"") =IF(A2="普通",IF(B2=4,"4",""),"") (7)そして適当な場所へ人数を出したいセルに下記の関数を入力すれば出るはずです。 =COUNTIF(C2:C20,1) C2~C20の範囲で”1”と表示されているセルの数を数えます。つまり”普通”で”1”と表示されたものの数が表示されているはずです。 ま~”普通”という区分のみで4列使う方法ですので、特殊や他に区分があるとすればめんどくさいかもしれませんが、一応 普通 で 1 と答えた人の数は数えることができます。

lc-a
質問者

補足

ご丁寧にありがとうございました。 この方法も完璧にやりたいことが再現できました。 ありがとうございます!

その他の回答 (6)

  • UAISHA
  • ベストアンサー率14% (1/7)
回答No.7

やはりピボットテーブルが楽だと思います。 『ページ』となっているところに条件の入っている列名をドラッグし、 『行』に知りたい回答列名を入れ、 『データ』に個数を数えるデータを入れれば、集計できるはずです。 あとは、アウトプットが出ましたら、条件列名を入れたセルのところで条件を指定(「普通」とか「特殊」とか)すれば その条件単位で集計してくれます。

lc-a
質問者

補足

コメントありがとうございます。 データ量が今回はそれほど多くないのですが、 ピボットテーブルを使う方法を次回検討しようと思います。 ありがとうございました。

  • takkuni
  • ベストアンサー率24% (166/676)
回答No.5

他の皆さんの回答を見て、少々こんがらかってきましたが、そのままCOUNTIF関数でできませんか。 回答番号の1~4をあらかじめ入力し、検索条件を指定するときに絶対指定にします。 それぞれ1~4までの設定が終わったら、それを行方向にコピーしてゆけばいいのでは。?

lc-a
質問者

補足

ありがとうございます! 最初、お書きになっている意味がわからなかったのですが 別シートまたは、使っているシート内に 回答番号 の 1~4を打ち込んでおき、 そのセルを絶対参照してCOUNTIFを使うということですね? この方法で、うまく作ることが出来ました。 ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

質問例の回答なら#1、#2のご回答でよいはずです。 それらの補足で、結果に満足されないのは、質問の説明が不適当だとおもいますよ。 >設問数:10 回答のパターン;1,2,3,4 とはどんな意味ですか。(今日の別の質問にもありましたが) 1つのセルに1,2,3,4とカンマで区切って回答が入っているのでしょうか。 区分は何種類かあるとして上の質問例では、「質問」というのは「質問ナンバー」ですか、すると質問1に誰が2と答えたかのデータはどうなるのでしょう。 区分=普通、回答者=A、質問=NO.1 選択=2 区分=普通、回答者=A、質問=NO.2 選択=3 ・・・ のような表になるのではないでしょうか。 これなら質問1に1と回答した人何人が考えられる。 普通質問1 1  3人      2  1人      3  1 人      4   4人   回答者数9人   質問2・・・     特殊・・・

lc-a
質問者

補足

質問の説明が不適当とのこと。申し訳ありません。 質問の数:10個の質問があります。 回答のパターン:1~4のいずれかひとつの数字で回答 #カンマで区切って回答は入っておりません。 というかたちです。 回答者の区分が二つあります。 その区分別に集計したいのです。

noname#192382
noname#192382
回答No.3

当方エクセル97ですが、 表の中を選択してから ツール--フィルタ--オートフィルタを選び 区分のプルダウンで普通を指定し 質問のプルダウンで2を指定すると その条件に合うものだけが残ります。

lc-a
質問者

補足

コメントありがとうございます。 データ~フィルタ~オートフィルタ で フィルタをかけて、データの抽出は出来ました。 しかし、COUNTIFで数えさせている値は 変わらないので、この方法ではだめみたいです。

  • banker_U
  • ベストアンサー率21% (17/78)
回答No.2

ピボットテーブルを使うのがベストだと思います。 質問No. 1 2 3 4    普通  それぞれの質問に答えた人数 特殊 見たいな表が簡単に作れますよ。 使い方?一回やってみてください。簡単です。

lc-a
質問者

補足

説明不足ですいません。 集計したいのは、質問に答えた人数ではなく、 設問数:10 回答のパターン;1,2,3,4 となっておりたとえば、Q1に1と答えた人は何名で、 2と答えた人は何名、という集計がしたいのです。

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.1

こんにちは~ データ量がどの程度のものかわかりませんが、 区分が A列、質問が B列だとして、 =SUMPRODUCT((A2:A100="普通")*(B2:B100=2)) のような感じでどうでしょうか?

lc-a
質問者

補足

質問の回答は、数字で「1」「2」「3」「4」で 答えるようになっているのですが、 上記の方法は、試してみたのですが エラーこそ出ないものの、 なぜか結果が全て「0」となってしまいます。

関連するQ&A