OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

エクセルでのアンケート表の集計方法

  • すぐに回答を!
  • 質問No.105914
  • 閲覧数1157
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 14% (3/21)

こんにちは。

リサーチ部門で仕事をしているのですが、この度ちょっとしたアンケートをチェックボックス形式でエクセルを利用して作成しました。

メールを利用して友人を中心に回答を収集したのですが、思った以上(100に以上)に集まり、プリントアウトして集計するにはおおくなりすぎました。

どなたか複数のエクセルファイルを同時に集計できる方法をご存知の方、教えて下さい。

ちなみに、設けたチェックボックスはどこのセルにもリンクはさせてません。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル11

ベストアンサー率 40% (170/415)

VBAでできますが、ちょっと大変です。 1:集計用のエクセルブックを作る <以下はVBAで作りこみます> 2:同じフォルダにあるエクセルブック(ファイル)のリストを作る (集計用のブックファイルは除きます) 3:ファイルリストを参照して、アンケートのブックを1つずつ開く 4:開いたシートにあるチェックボックスの値を、集計用のブックのシートに移す (If Worksheets(" ...続きを読む
VBAでできますが、ちょっと大変です。

1:集計用のエクセルブックを作る
<以下はVBAで作りこみます>
2:同じフォルダにあるエクセルブック(ファイル)のリストを作る
(集計用のブックファイルは除きます)
3:ファイルリストを参照して、アンケートのブックを1つずつ開く
4:開いたシートにあるチェックボックスの値を、集計用のブックのシートに移す
(If Worksheets("sheet1").CheckBox1.Value = True Then などで)
<3,4を全部のブックで繰り返し>

複数のブックのセルから集計するのは作ったことがあります。
チェックボックスの値も取得はできるので、同じようにできると思います。
100件ほどなら(チェックボックスの数が少なければ)手作業のほうがいいかもしれませんね。

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

もう終わったかな・・・。参考に作ってみました。 アンケート用のブックの管理方法がわかりませんので次のような想定をしています。 1.決まったフォルダに全アンケート用ブックが保存されている。 2.アンケート用ブックのSheet1のみにチェックボックスがある。 3.チェックボックスはコントロール ツールボックスのものを使った。 4.各チェックボックスの名前はCheckBox1、CheckBox2・・・ ...続きを読む
もう終わったかな・・・。参考に作ってみました。
アンケート用のブックの管理方法がわかりませんので次のような想定をしています。
1.決まったフォルダに全アンケート用ブックが保存されている。
2.アンケート用ブックのSheet1のみにチェックボックスがある。
3.チェックボックスはコントロール ツールボックスのものを使った。
4.各チェックボックスの名前はCheckBox1、CheckBox2・・・となっている。
5.アンケート用ブックの拡張子は.xls
一部書き換えて下さい。
6.anCount(3)の3は実際のチェックボックスの数にします。
7.anPath = "C:\・・・・・・・・・・" は全アンケート用ブックが保存されているドライブとフォルダです。

集計結果をA列に書き出します。標準モジュールに貼り付けます。
Public Sub Syukei()
Dim anPath As String 'アンケート用ブックの保存フォルダ
Dim anFilename As String 'アンケート用ブック名
Dim anCount(3) As Integer 'アンケート集計用配列 '<=== 実際のチェックボックスの個数にします
Dim cnt As Integer 'カウンタ
Dim anCheckBox As OLEObject 'チェックボックス

Application.ScreenUpdating = False '画面更新停止
anPath = "C:\・・・・・・・・・・" '<=== 実際の保存ドライブ、フォルダを書きます。
anFilename = Dir(anPath & "\" & "*.xls")
While Len(anFilename) > 0
'*** チェックボックスのチェックを集計 ***
Workbooks.Open anPath & "\" & anFilename
cnt = 0
With Workbooks(anFilename).Worksheets("Sheet1")
For Each anCheckBox In .OLEObjects
If Left(anCheckBox.Name, 8) = "CheckBox" Then
cnt = cnt + 1
anCount(cnt) = anCount(cnt) + Abs(anCheckBox.Object.Value)
End If
Next
End With
Workbooks(anFilename).Close
'******* シートの集計終了 *******

anFilename = Dir '次のブック
Wend
Application.ScreenUpdating = True '画面更新復活
'集計結果を書く
For cnt = 1 To UBound(anCount())
Range("A" & cnt) = "ChechBox" & Right(" " & cnt, 2) & "=" & anCount(cnt)
Next
End Sub
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ