• ベストアンサー

エクセルでアンケート集計したいので、関数・マクロを教えてください!

宜しくお願い申し上げます。エクセルでアンケート用紙を作りました。セルh3~h35までに各問いの答えが「数字(1~5)」で入っています。約300人分で、各々ankt1~ankt300と名前を付けてエクセルファイルで保存してあります。それからh3に1は何人?h3に2は何人?・・・h35に4は何人?h35に5は何人?と集計したいのです。エクセルの関数・マクロで出来る方法がありましたら、どうぞご教示下さい!≦(._.)≧

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

  • ベストアンサー
  • 135ok
  • ベストアンサー率34% (26/75)
回答No.3

1例です。 別添資料を使い説明します。 A列  B列 問題  回答 A   5 B   3 C   2 D   1 E   3 上記のアンケートを添付のように追加。 次に、表を問題、回答のほかに集計の表を作る。 集計の表は、回答をコピーしたもので、項目を変えただけの物です。 そして、ピボットテーブルで集計を行う。 行に 問題 列に 集計 データ 回答(集計方法は、データの個数) 添付のように集計ができます。 数個のデータで試してみてはいかがでしょうか。

jj1lwi
質問者

お礼

お忙しい中、早速の画像付きの回答、誠にありがとうございました。≦(._.)≧

その他の回答 (3)

回答No.4

私も回答2の方の意見に同意します。 1アンケート1行として1シートにまとめておけば、あとの集計は関数でもピボットテーブルでも使っていろいろできます。 1シートにまとめるマクロとしては、以下が一例です。 Option Explicit Sub Macro1() Dim i As Integer For i = 1 To 300 'ankファイルを開く Workbooks.Open Filename:="<アンケートのあるフォルダへのパス>\ank" & i & ".xls" 'C3:C35の範囲をコピー ActiveSheet.Range("C3:C35").Copy '値、行列の入れ替えのオプションを選択して集計シートへ貼り付け。 ThisWorkbook.Worksheets(1).Range("A" & i).PasteSpecial Paste:=xlPasteValues, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=True 'ankファイルを閉じる ActiveWorkbook.Saved = True ActiveWorkbook.Close Next i End Sub 必要ならば、性別、年齢、職業などの属性も取り出しておけば、分析に役立つはずです。

jj1lwi
質問者

お礼

お忙しい中、早速の回答、誠にありがとうございました。≦(._.)≧

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.2

300シート分の回答があるってことですよね? 私なら適当な手段を用いて以下のようにフォーマット変換したシートを作ってから作業します。 ・1人1行でA列~AF列まで回答の数字が入っている ・300人なので300行ある あとはcountif関数でA列、B列、C列‥‥AF列まで各々の列にどの回答がいくつあるか数える。 1シートにするには私なら適当なマクロを組むか外部プログラムを作って処理しちゃいますが、手作業でやるなら ・H3~H35を選択してコピー ・貼り付け先を選択して編集→形式を選択して貼り付け→行列を入れ替えるにチェック ・300回 で可能です。

jj1lwi
質問者

お礼

お忙しい中、早速の回答、誠にありがとうございました。≦(._.)≧

  • tttry
  • ベストアンサー率38% (44/114)
回答No.1

セルH3に数字が入っているなら、例えば、 J3のセルに、=if(H3=1,1,0) K3のセルに、=if(H3=2,1,0) L3のセルに、=if(H3=3,1,0) M3のセルに、=if(H3=4,1,0) N3のセルに、=if(H3=5,1,0) と関数を入れて、それぞれ、35行までコピーをすれば、1人の人が何をアンケートで選択したかがわかりますよね。 それぞれ、anakt1からankt300まで作成してから、集計をして見たらどうでしょうか? 一番は、anakt1からankt300を一つのワークシートにデータを入れて、先ほどの関数を使えば良いと思います。 私ならそうします。

jj1lwi
質問者

お礼

お忙しい中、早速の回答、誠にありがとうございました。≦(._.)≧

関連するQ&A

  • エクセルアンケート集計 マクロ

    以下のようなマクロを必要としておりますが、自力で書くことが出来ず、困っております。 どなたかご教示いただけますか。 (Excel2003を使用しています。) 目的:アンケートの集計 状況: AAAという名前のフォルダ(C:\AAA)に、BBB1,BBB2,・・・,BBB30、という名前の30個のファイル(C:\AAA\BBB*)が格納されています。 各BBBのファイルには、4択で1~4の数字を選んで回答するアンケートの回答が、 問1 1 問2 3 という体裁で記入されています。(全部で40問) 問○ というセルはA1から縦に、 問に対する回答の数字は、B1から縦に並んでいます。 やりたい事: BBBとは別のファイルで、30個の回答ファイルから、 問1で1と答えた人は○人、2と答えた人は×人・・・。 問2で1と答えた人は○人、2と答えた人は×人・・・。 という風に、問題毎、選択肢毎の回答数を一挙に集計したいと考えています。 特に分からないポイントとしては、 ・別のファイルを指定してデータを持ってくる方法 ・異なるファイル名を指定する操作をloopさせる方法 の2点です。 マクロは手動で実行するものとし、 データを参照するBBBのファイルは、マクロ起動時も終了時も閉じた状態にしたいと考えています。 ご教示の程、よろしくお願いいたします。

  • エクセルでアンケートの集計

    エクセルの画面に氏名、年齢などとともに質問を入れてアンケートを行い、その答えを集計するための関数はどのように使ったらよいでしょうか?

  • エクセルの関数について こんなこと出来ますか?

    エクセルの表で、集計をしたいと思っています。 数字が入った2列と、それを集計するセルを2つ思い浮かべてください。 その数字が入った2列の右側に「1」か「2」の数字が入っていて(この場合はアンケートの答えの番号です)、左側には任意の数字(この場合は売上金額)が入っています。 集計するセルには、「1」または「2」をそれぞれ選んだ人の金額が合計ででいくらになるかをはじき出したいんですけど、こういうのって関数で出せるものなのでしょうか? (これが出来なければフィルターで出して計算しなければならないんですけど、後からどんどん追加がくるので、そのたびにやるのは面倒くさいんです・・・) お手数ですが、よろしくお願いいたします。

  • エクセルアンケート集計&分析 マクロ

    エクセルで書かれたアンケート結果を自動集計して 分析を簡単に行えるマクロを組みたいと考えています。 ファイルサーバー内の特定のフォルダ(\\Server1\enquete\)内にアンケートBook(*****.xls)が30個入っています。 アンケートbookには10枚のSheet(シート名はアンケート対象施設名)があります。 各アンケートSheetには、セルB2~B100に質問大分類、セルC2~C100に質問小分類、セルD2~D100に質問、セルE2~E100に評価点、セルF2~F100に評価者IDが記入されています。 ・対象施設 評価点順位 ・質問別平均点 ・評価点分布図 ・偏差値 ・平均点 などを分析したいと思います。 どのようなマクロの組み方が効率的と考えられますでしょうか? お詳しい方宜しくご教授ください。

  • Excelでアンケート集計

    20名の方にアンケートをとりました。 そのアンケート用紙は、一人につき1シートのアンケート用紙です。 それをひとまとめにして、ブックにしました。 ですので、アンケートを集めたブックは20シートになります。 今度は、そのアンケートの各問を 新しいシート上で集計していきます。 例えば、問1が"○"のものはいくつか、"△"はいくつか、"×"はいくつか・・・という感じです。 どのアンケートシートもフォーマットは同じなので、 串刺し計算とCountif関数を使おうと思ったのですが、 Countif関数の範囲は、シートをまたがっては設定できないようです。 どなたかいいアイデアがありませんか?? わかりにくい!!という場合は、補足します。 よろしくお願いします!

  • エクセルでアンケートのクロス集計

    いつもお世話になっています。 アンケートの集計方法についての質問です。 問6の部分(F~T)が複数回答になっています。 このアンケートの集計で問2が「2以下」で問6に「1」のある数を集計したいのですが COUNTIFS関数で=COUNTIFS(C:C,"<=2",F:T,1)としてもエラーになってしまいます。 何か上手くいく方法は無いでしょうか?

  • Excelでアンケート集計をしたい!

    Excelでアンケートの集計をしたいのですが、どの関数を使ったらいいのかわからなくて困っています。 例)好きなくだものは? ①いちご ②みかん ③すいか ①と答えたら2点、②と答えたら3点、③と答えたら4点・・・ と集計をしたいのです。 よろしくお願いいたします。

  • エクセルexcelの関数やマクロ教えて下さい!

    エクセルexcelについて教えて下さい。 数字が入力されたセルに数を加えていきたいのですが、 "1"が入力されたセルに"3"と入力すると"4"と表示されるようにする方法を教えて下さい。関数やマクロなど勉強中ですが、難しくて出来ません。お願いします。

  • エクセル関数若しくはマクロについて

    エクセルで A1に数字を打ち込み1なら10 2なら14・・・ といったように変換してくれるようにしたいのですが、 1と打った下のセルを10にするならVLOOKUPを使って出来ると 調べたのですが、 1と打ったセルの所を10と表示させるようにするには どのような関数を使うべきなのでしょうか? もしくはマクロを組まないの出来ないなのでしょうか?

  • アンケート結果の集計を関数にて対応したいです。

    現在、アンケート結果をエクセルにて集計しようと試みております。 ご教示いただけると非常に助かります。 【実現したいこと】 添付ファイル内の<Sheet2>が求めたい表になります。 具体的にご説明すると、 A1を第一希望にする人は誰でその人の地域はどこか。 A2を第一希望~・・・ という集計をしたいと考えております。 その際、セル内に、 --------------------------- Aさん - 東京 Bさん - 神奈川 --------------------------- という形で表示したいのですが、その際、人の名前と地域の間に ■「半角スペース」「-」「半角スペース」 と複数の人が存在する場合は ■地域の後で「改行」 を入れたいと考えております。 【データ】 <Sheet2>に反映させるデータは<Sheet1>の様に集めます。 マクロを使わずに関数で対応出来る方法があれば大変助かります。 Sheet1からSheet2に直接集計する事が難しい場合は別途シートを用意し、 そのシートにてセルをCONCATENATE(式の中で、改行の為にCHAR(10)も使う)等を利用する事も検討いたしました。 皆様のお知恵をお借り出来れば幸甚です。 何卒、よろしくお願い申し上げます。

専門家に質問してみよう