• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの関数でアンケートのクロス集計をしたいです)

エクセル関数でアンケートのクロス集計方法とは?

このQ&Aのポイント
  • エクセルの関数を使用してアンケートのクロス集計を行いたい場合には、表(1)のデータを使い、表(2)のような集計結果を算出する関数を作成する必要があります。
  • 具体的な方法として、表(1)の属性ごとに回答を集計するために、IFとAND関数を組み合わせて条件を指定し、カウント関数を用いて回答者の数を算出します。
  • 例えば、表(1)の属1(B列)で1を選び、かつ、質問1(J列)で1を選んだ回答者の数について、表(2)の対応するセルにカウント関数を入力することで、集計結果を算出することができます。

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

  • ベストアンサー
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

属性1-1の表計算式(属性番号はC1セルにあるものとして) =SUMPRODUCT((Sheet1!$B$2:$B$11=$C$1)*(OFFSET(Sheet1!$I$2,0,$A3,10)=B$2)) =SUMPRODUCT((属性範囲=$C$1)*(回答範囲=B$2)) Sheet1の属性範囲と回答範囲に名前を定義するとわかりやすくなるとおもう 属性1-2以降の表に関しては属性範囲と属性番号が異なるので (Sheet1!$B$2:$B$11=$C$1) ↑ この部分の計算式の変更が必要

mmj8c6umd
質問者

お礼

教えていただいたとおりにやってみました。 自分なりに落とし込むのに時間がかかってしまいましたが、 ようやく何とかできました。ありがとうございました!

その他の回答 (1)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

データベースが例示のレイアウトで(Sheet1の場合)、表示したいシートのB1セルに属性番号、C1セルに質問番号を入力してあるなら、以下の式をB3セルに入力して右方向および下方向にオートフィルしてください。 =SUMPRODUCT((INDEX(Sheet1!$B$2:$H$30,,$B$1)=$C$1)*(INDEX(Sheet1!$J$2:$N$30,,$A3)=B$2)) ただし、この数式は配列数式ですので、上記の数式は1枚のシートだけに入力して、B1セルとC1セルの値を順次変更して、そのデータ範囲を、別シートに形式を選択して貼り付けで「値」貼り付けするとよいと思います。

mmj8c6umd
質問者

お礼

教えていただいたとおりにやってみました。 自分なりに落とし込むのに時間がかかってしまいましたが、 何とかできました。ありがとうございました!

関連するQ&A