- ベストアンサー
複数回答可のアンケートの統計
『当社の商品をどこで使っていますか?』 というアンケートをとってエクセルで統計を編集しています。 A 1 自宅:勤務先:友人宅 2 自宅:友人宅:実家 3 自宅 4 イベントの場所 5 勤務先 6 自宅 7 自宅 8 自宅:勤務先 9 自宅 10 自宅:勤務先:イベントの場所 11 自宅 12 勤務先 13 勤務先 14 勤務先 15 自宅:友人宅 ・ ・ ・ 現在は↑のようなデータを、 『=COUNTIF(B:B,"*自宅*")』『=COUNTIF(B:B,"*勤務先*")』 といった風にカウントしていますが、 項目によっては回答がかなり多くなるので、 『"**"』の間を全て書き換えていては結構大変です・・・。 D列に項目、F列に数値という新しい表を作って、『=COUNTIF(A:A,*D1*)』とし、 下へドロップしようとしたのですができませんでした・・・。 この方法でなくても良いのですが、複数回答のアンケートの統計を 簡単に取ることができる方法をご存知の方がいらっしゃったらお教えください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>『=COUNTIF(A:A,*D1*)』とし、 ↓のようにしてみたらどうですか。 =COUNTIF(A:A,"*"&D1&"*")
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
私ならもっと楽をするため、VBAを使います。お呼びでないかも知れないが、良ければやってみて考えてください。初歩的なコードばかりです。 A列 D列 E列 自宅:勤務先:友人宅 自宅 10 自宅:友人宅:実家 勤務先 7 自宅 友人宅 3 イベントの場所 実家 1 勤務先 イベントの場所 2 自宅 自宅 自宅:勤務先 自宅 自宅:勤務先:イベントの場所 自宅 勤務先 勤務先 勤務先 自宅:友人宅 データはA列、答えはD,E列に出ます。 ツールーマクローVBE、挿入ー標準モジュールの画面に Sub test01() d = Range("a65536").End(xlUp).Row n = 0 For i = 1 To d s = Split(Cells(i, "A"), ":") For j = 0 To UBound(s) For k = 1 To n If Cells(k, "D") = s(j) Then Cells(k, "E") = Cells(k, "E") + 1 GoTo p1 End If Next k n = n + 1 Cells(n, "D") = s(j) Cells(n, "E") = 1 p1: Next j Next i End Sub を貼り付け、F5で実行する。 答えはD列に項目、E列に計数。 ・項目も自動割り出し ・計数も自動算出 します。
- shikisaito
- ベストアンサー率52% (257/491)
「&」は、文字列を結合します。 「=COUNTIF(A:A,"*"&D1&"*")」は、 D1が「自宅」のとき、「=COUNTIF(A:A,"*自宅*")」を、 D1が「勤務先」のとき、「=COUNTIF(A:A,"*勤務先*")」を、 それぞれ示します。
- EL-SUR
- ベストアンサー率76% (83/108)
#1です。 >『=COUNTIF(B:B,"*自宅*")』『=COUNTIF(B:B,"*勤務先*")』 ↑が「自宅」や「勤務先」という文字列を含むセルの個数をカウントする、というのはわかるんですよね? >『=COUNTIF(A:A,*D1*)』 ↑ではエラーだと怒られるので、ダブルクォーテーションで囲って =COUNTIF(A:A,"*D1*") にしても、これは単に「D1」という文字列を含むセルの個数をカウントするだけです。 ■ D1セルに「自宅」と入れて、そのセルを参照するには =COUNTIF(A:A,"*"&D1&"*") のようにアスタリスク「*」だけをダブルクォーテーションで囲み、 セル番地を &でつなげてやる必要があります。 仕様ですからそういうものだと納得してもらうしかありません。 アスタリスクのようなワイルドカード以外でも、 たとえば A列に数値が入っていて、その中で 100以上の数値が入っているセルの個数をカウントするのは =COUNTIF(A:A,">=100") ですが、C1セルに 100と入れてセル参照する場合は =COUNTIF(A:A,">="&C1) のようにしないといけません。
お礼
ありがとうございます! わかりやすくて感動しました^^! こういう知識ってどこで身につけるんですか?? あ、これは質問じゃないので、気が向けば教えてください^^;
お礼
ありがとうございます!できました! でも・・・、これはどういう意味なんですか・・・? 『"*"&D1&"*"』の意味がよくわかりません・・・