集めた声をCSVで分析する3つの型|イベント後の報告書が10分で終わる
イベントで集めた声は、眺めているだけでは報告書になりません。CSVに落として3つの型で切ると、半日仕事だった集計が10分で終わります。この記事では、①頻出語ランキング ②時系列の推移 ③属性別クロス、の3つを、Googleスプレッドシートにそのまま貼れる関数つきで解説します。あわせて、日本語のデータでほぼ必ず起きる表記ゆれ・全角空白・文字コードの3つの落とし穴と、その対処も書きます。
・次に時系列で「どの瞬間に盛り上がったか」を見る(タイムスタンプ列があれば10分単位に丸める)
・最後に属性別クロスで示唆を引き出す(部署・拠点・年代など、収集時に列を作っておく)
・日本語データの3大トラブルは表記ゆれ・全角空白・文字コード。前処理で潰す
・分析の質は「収集時の設計」で決まる。あとから属性列は作れない
ZENINのCSV / 手作業集計
始める前に:CSVの列構成を確認する
分析の型に入る前に、手元のCSVにどんな列があるかを確認してください。ここで揃っていないものは、あとから作れません。
- 投稿内容(必須)— 参加者が入力した言葉そのもの
- タイムスタンプ(時系列分析に必須)— いつ投稿されたか
- お題/設問(複数のお題を出した場合に必須)— どの問いへの回答か
- 属性(クロス分析に必須)— 部署・拠点・年代など。収集時に聞いていないと存在しない
「部署別に見たかったのに、属性を聞いていなかった」。属性はあとから足せません。イベント前に、報告書で何を言いたいかを決めて、その分だけ最初の設問で聞いておいてください。ただし設問を増やすほど参加率は落ちるので、多くても1つに絞るのが現実的です。
型1:頻出語ランキング(まず全体像をつかむ)
最初にやるのはこれです。「何がいちばん多く言われたか」を数字で出します。ワードクラウドは大きさで見せますが、報告書には順位と件数が要ります。
Googleスプレッドシートでの手順
投稿がA列にあるとして、空いたセルに `=UNIQUE(A2:A)` と入力します。重複を除いた語の一覧が縦に並びます。
隣の列に `=COUNTIF($A$2:$A, C2)` と入れて下までコピーします(C列に①の結果がある場合)。件数が出ます。
`=SORT(C2:D, 2, FALSE)` で降順に並べ替えます。上位10件が報告書の骨子になります。
Excelなら、投稿列を選んで挿入→ピボットテーブル、行に投稿・値に「個数」を置くだけで同じ結果が出ます(Microsoft サポート)。関数を覚えたくない場合はこちらが早いです。
上位3件だけを本文に書き、残りは表で添える。「◯◯が最多(38件/全212件中)」のように分母をセットで書くと、読み手が規模を判断できます。件数だけだと多いのか少ないのか伝わりません。
型2:時系列(どの瞬間に盛り上がったか)
タイムスタンプ列があると、進行のどこで反応が集中したかが分かります。これは次回の企画に直結する情報です。「中盤の事例紹介で投稿が3倍になった」と分かれば、次回はその形式を増やせます。
タイムスタンプがB列にあるとして、`=FLOOR(B2, TIME(0,10,0))` で10分単位に切り下げます。1分単位のままだと点が散りすぎて傾向が読めません。
丸めた列に対して、型1と同じ UNIQUE+COUNTIF、またはピボットテーブルで件数を出します。
グラフを作り、進行表(何時に何をしたか)と並べて見ます。ピークと谷が、その時間に何をしていたかと一対一で対応します。
見るべきは山ではなく谷です。投稿が落ち込んだ時間帯こそ、次回に手を入れるべき場所です。「開始40分あたりで必ず落ちる」というのは大人数セミナーで共通して起きる現象なので、その時間帯の進行を500人セミナーの進行台本テンプレートの型に差し替えると改善します。
型3:属性別クロス(示唆を引き出す)
3つの中でいちばん報告書が強くなるのがこれです。全体の傾向だけでは「そうですか」で終わりますが、属性で割ると打ち手が出ます。
部署列がC列にあるとして、`=FILTER(A2:A, C2:C="営業")` で営業部だけの投稿を抜き出します。
抜き出した結果に型1を適用します。属性の数だけ繰り返すので、シートを属性ごとに分けると管理しやすくなります。
全体の順位と属性内の順位を並べて、順位が大きく動いた語を探します。ここに示唆があります。
たとえば全体では5位だった「引き継ぎ」が、営業部だけでは1位——という状態が見つかれば、それはその部署固有の課題です。報告書に書くべきなのは全体の1位ではなく、この差のほうです。
日本語データで必ず起きる3つの落とし穴
関数どおりにやっても数字が合わない、ということが日本語のデータでは頻繁に起きます。原因はだいたい次の3つです。
①表記ゆれ:同じ意味の言葉が別々に数えられる
「ラーメン」「らーめん」「ラーメン🍜」は、COUNTIF では別の語です。本当は1位だった言葉が3つに割れて、順位表から消えることがあります。前処理で寄せるか、収集の時点で寄せる仕組みがあるツールを使ってください。ZENIN CLOUD はAIが収集時に表記ゆれを寄せるので、この工程自体が不要になります。
②全角空白と前後の空白
「営業部」と「営業部 」(末尾に全角空白)は別の値として扱われます。読み込んだ直後に `=TRIM(SUBSTITUTE(A2, " ", ""))`(全角空白を除去してからTRIM)で正規化しておくと、後の集計が安定します。
③文字コード:開いたら文字化けしている
CSVをExcelでダブルクリックして開くと文字化けすることがあります。これはファイルが壊れているのではなく、開き方の問題です。Excelなら「データ」タブ→「テキストまたはCSVから」でUTF-8を指定して読み込む、Googleスプレッドシートならファイル→インポートで開くと、そのまま読めます。
元データのシートは絶対に書き換えないでください。「raw」「clean」「集計」の3シートに分け、cleanで正規化した結果を集計に使う。こうしておくと、数字が合わないときに元に戻って確認できます。再現性が出るので、翌年の担当者にもそのまま渡せます。
10分で終わる報告書のテンプレート
3つの型が出たら、報告書はこの順に並べるだけです。分析より、並べ方で読みやすさが決まります。
日時・参加人数・投稿総数。「参加者212名、投稿総数487件」のように、規模を最初に示す。
上位3件を分母つきで。ワードクラウドの画像を1枚貼ると伝わりが速い。
折れ線グラフ1枚と、ピークで何をしていたかの1行。
全体順位と大きくずれた属性を1〜2個。ここが提案につながる。
谷になった時間帯の改善案と、次回聞くべき属性。次の担当者への引き継ぎを兼ねる。
ZENIN CLOUD は、投稿内容・タイムスタンプ・お題を含むデータを全プランでCSVダウンロードできます。表記ゆれはAIが収集時に寄せるため、前処理の①が丸ごと不要になります。お題の作り方は盛り上がるワードクラウドのお題設計10選にまとめました。
料金は7日ぶん¥10,000(税込)のクレジットカード決済のみで、契約も商談も解約手続きもありません。使う日は1日ずつ選べるので、データの取り方を試す日と本番の日を分けられます。
CSV分析を取り入れるべきかチェック
2つ以上当てはまるなら、集計の型を用意する価値があります。
よくある質問
Excelとスプレッドシート、どちらで分析すべきですか?
どちらでもできます。関数を書きたくないならExcelのピボットテーブルが最速です。複数人で同時に見る・毎回同じシートを使い回すならGoogleスプレッドシートが向きます。文字化けを避けたい場合は、どちらも「インポート」経由で開いてください。
表記ゆれはどうやってまとめればいいですか?
前処理でやるなら、SUBSTITUTEで代表表記に置換する対応表を作ります。ただし日本語は組み合わせが多く、対応表の保守が負担になります。収集の時点でAIが寄せる仕組みがあるツールを使うと、この工程自体がなくなります。
属性を聞くと参加率が下がりませんか?
下がります。設問が増えるほど離脱するので、聞くのは多くても1つに絞ってください。部署か拠点か年代か、報告書で何を言いたいかを先に決めて、その1つだけにするのが現実的です。
匿名で集めたデータを属性別に分析するのは問題ありませんか?
属性の粒度が細かいと個人が特定される可能性があります。「◯◯部(3名)」のように少人数の区分は、集計単位をまとめるか報告書から外してください。匿名で集めた前提が崩れると、次回から本音が出なくなります。
タイムスタンプがないデータでも分析できますか?
型1(頻出語)と型3(属性別)はできます。型2(時系列)だけはタイムスタンプが必須で、あとから復元できません。進行のどこで反応したかを見たい場合は、タイムスタンプを出力できるツールを選んでください。
集めた声は全プランでCSVダウンロードできます。分析の型は、実データがあると一気に身につく。
契約・商談・解約手続きなし。クレジットカード決済のみ。使う日は1日ずつ選べます。