泥臭くも効率的にやるフリーテキスト集計
この記事はfreeeデータに関わる人たち Advent Calendar 2020 10日目のエントリーです。
こんにちは。Analyticsチームのララ・チャンです。
生のテキストを扱うとき、避けて通れないのが表記揺れ。
集計するうえで、やっかいですね。
今日はこれを、力技で表記統一するやり方をサクッとご紹介します。
目次
①間引き
②全角半角
③区切り文字
④名寄せ
4ステップで完了します。
必要なのは、ExcelかGoogleスプレッドシートだけ。
私がITツールの利用実態調査をしたときの、実際のフリーテキスト回答を参考にお送りいたします。
*ショートカットキー:Macのものを使っています
*画像:無料で使えるスプレッドシートを使っています
①間引き
シートにデータを乗せたら、作業開始です。
まずは無効票を撲滅します!
>無効票の例
不明
使っていません
わからない
humei
nai
wakaran
どういうこと?
社外秘
思い出せそうな気がすr
(゚∀三゚三∀゚)
abcabcabcabcabc,HFHFHFHFHFHF
列を追加して、この後の作業から除外する目印をつけましょう。
目印はアルファベットなど、入力しやすい一文字がおすすめです。
[フィルタ機能]を使ってA→Zに並べ替えすると見つけやすいです。
見えなくするときに絞り込みしいやすいように、文字も1種類だと良いでしょう。
②全角半角
半角と全角、大文字小文字を統一します。
テキストによっては長くなるため、半角小文字がおすすめです。
ASC関数:半角にする
JIS関数:全角にする
LOWER関数:小文字にする
UPPER関数:大文字にする
列を追加して、テキストを半角に変換しましょう。
名寄せ作業を行うので、変換したら値貼り付けします(Command + Shift + V)
見慣れている文字列ほど、違和感を感じると思います。
わかります。でも勇気を持って半角小文字にしてください。
③区切り文字
回答者が入力してくれる区切り文字は、千差万別です。
スペース以外なら何でも良いので、一つ一つ列内を置換していきましょう!
※スペースを避けたいのは、サービス名にも含まれてしいまうため。
「gsuit」も「g suit」も表記揺れなので、集計するときの意図しない分割を避けます。
>良く見る区切り文字
スペース:A B C
カンマ:A,B,C
スラッシュ:A/B/C
[検索と置換]の機能で、[検索]の範囲を列に限定して「すべて置換」します(Command + Shift + H)
ざっと眺めて、区切りとして使われている文字を、どんどん置換していきましょう。
必要に応じて手作業で区切り文字を入れたり、不要な文字を削ったりもします。
主張の少ない、カンマにすると見やすいです。
④名寄せ
ここからが本番です。別でシートを用意してください。
表記統一する規格書を作ります。
A列:check
B列:名寄せ
C列〜:パターン
名寄せ列は、数あるパターンの中から統一したい表記を入れてください。
実際に集計するときの値になります。
パターン列は、[検索と置換]で一括編集するためのバリエーションです。
見つけ次第、一つ一つ足していき、目録を作ります。
checkの列は、最終確認で使う目印にします。
この規格書を書きながら、あとはひたすら[検索と置換]!
ただひたすらに、泥臭く。がんばってください!
おわりに
実際はもっとカスタマイズしてやっているのですが、サクッと伝えたくて省きました。
少しでも参考になれば幸いです。
本日のエントリーは以上です。
ここまで読んでいただき、ありがとうございました!
明日のエントリーもお楽しみに!(゚∀三゚三∀゚)