フォームの自由記述欄を増やしすぎて、結局Excelのデータ整理に絶望した話

自由記述欄が招く集計地獄

よかれと思ってやったことが、完全に裏目に出ることってありますよね。今回は、業務効率化のためにGoogleフォームを導入したものの。入力側の負担を減らそうと「自由記述欄」を増やしすぎた結果。集計する自分が地獄を見た話です。

紙の申請書やメールでのバラバラな報告を廃止して、データ入力の手間をなくす。フォームを作ったときは。「これで毎月の集計が一瞬で終わるぞ」と本気で信じていました。でも、実際に集まったデータをExcelにエクスポートして開いた瞬間。画面に広がっていたのはフォーマットが完全に崩壊した文字列の山でした。

まず、原因は、フォーム作成時のほんの小さな設計ミスです。「ここはみんな書き方が違うだろうから。テキストボックスにしておこう」
この何気ない自由記述欄が。データ整理という名の新たな地獄の扉を開いてしまったんです。

自由記述は集計の命取り

部署全員の備品購入リクエストをフォームで集めた際。品名から個数まで全て自由記述にしてしまった。結果、Excelに落とした瞬間。100行以上のバラバラなフォーマットが目に飛び込んできて血の気が引いた。集計に5時間もかかり、これなら手入力のほうがマシだったと激しく後悔した。

自由記述欄は、どんな回答でも受け入れてくれるので一見すると便利に見えます。でも、データを「集計」する側にとっては、これが命取りになります。システムが想定していないありとあらゆるノイズが流れ込んでくるからです。

CSVの表記揺れ、データ整形の悪夢

次に、ダウンロードしたCSVファイルをExcelで開いた瞬間の。あの胃が重くなる感覚は今でも忘れられません。真っ先に目に飛び込んでくるのは、無惨に散らかった取引先名や氏名のリストです。

同じ「株式会社〇〇」を指しているはずなのに。データの中身は完全に別物になっていました。全角の「(株)」、半角の「(株)」。そして環境によっては文字化けする機種依存文字の「㈱」。これらが一つの列に見事に混在しているんです。

なぜこんなことが起きるのかというと、回答者が使っている端末(PCかスマホか)や。文字入力ソフトの変換学習がそのままデータに反映されてしまうからです。

一方で、さらに厄介だったのが「スペース」の存在でした。社名と支店名の間に気を利かせてスペースを入れる人がいるんですが。全角スペースの人もいれば半角スペースの人もいる。一切スペースを空けずに詰めて書く人もいます。電話番号に至っては、半角ハイフン、全角ハイフン、マイナス記号。さらには長音記号(ー)まで入り乱れる始末。

Excel表記揺れの苦悩

Excelのフィルター機能で特定の企業だけを抽出しようとしても。リストには「株式会社A」「(株)A」「(株)A」「 ㈱ A」と。まるで別会社のように何種類も表示されてしまいます。これらを一つにまとめる作業を想像しただけで、目の前が真っ暗になりました。

1つの取引先名に対して発生した表記揺れのパターン数(7種類)

ここで一度立ち止まって考えてみてください

Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

プログラミングスクール Enjoy Tech!(エンジョイテック) →

自由記述欄、親切心が招く集計地獄

そのため、そもそも、なぜそんなに自由記述欄を作ってしまったのか。根底にあったのは「回答者への配慮」のつもりでした。入力する側が面倒に感じないように、細かな事情も書けるように。そんな思いやりが、フォームの設計を少しずつ歪めてしまったんです。

選択肢をリストアップしてプルダウンを作るのは。作成する側にとっても結構手間がかかります。「まあ。テキストボックスにしておけば各自で適当に書いてくれるだろう」
そんな甘い見通しが悲劇を引き起こしました。自由度を与えすぎると、人間は本当に想像を絶する入力をしてくる生き物です。

悩みそうな項目だからと「備考(何でも書いてください)」という欄を作ったところ。「特になし」「ありません」「・」「あ」といった回答で埋め尽くされ。本当に必要な連絡事項が完全に埋もれてしまった。一つ一つ目で確認してノイズを消す作業に2時間溶かした。

しかし、データを集約するExcelは。「大体同じ意味だから」といった人間の曖昧さを一切理解してくれません。1文字でも違えば、それは全く別のデータとして扱われます。回答者を甘やかしすぎたツケは。すべて集計担当者(自分)の残業時間として跳ね返ってきました。配慮の方向が根本的に間違っていたと気づいた時は遅かったです。

自動化の罠:数値崩壊と泥沼の手作業

被害は文字列の表記揺れだけにとどまりません。本当に恐ろしかったのは、数値データの崩壊です。備品の注文数や経費の金額を聞く欄を、単なるテキストボックスにしていました。その結果、Excelの数式が連鎖的に機能不全に陥ることになります。

数字の入力欄なのに。「100個くらい」「約50」「未定です」「今回は不要」といった文字列が平然と入力されていました。これをExcelでSUM関数を使って合計を出そうとすると。「#VALUE!」というエラーが吐き出されます。コンピューターにとって「100個」は「100」という数字ではなく。計算できない単なる文字の羅列なんですよね。たった1セルの文字列のせいで。何千行という集計表全体の計算がストップしてしまいました。

さらに、結局どうしたかというと。手作業でExcelの置換機能(Ctrl+H)を使って「個」という文字を空白に置換しました。何十回も繰り返し、目で見て修正するという本末転倒な作業です。焦って置換機能を乱用すると。「個人用ファイル」が「人用ファイル」に書き換わってしまうなど。致命的な二次災害まで起きてしまい本当に泣きそうになりました。

自動化のためのフォームだったはずが、いつの間にか最も泥臭く。神経をすり減らす手作業を生み出していたんです。

業務時間と精神的余裕を守る入力規則

この地獄から抜け出す方法は、たった一つしかありませんでした。フォームの入力段階で、ノイズを徹底的に弾き返すことです。

まず、ここで圧倒的な威力を発揮したのが「入力規則(バリデーション)」という機能です。テキストボックスを極力減らし、プルダウンやラジオボタンで選択肢を固定する。どうしても数値を入力させる必要があるなら。「半角数字のみ」しか受け付けない設定にする。文字を入力しようとしたら「数字で入力してください」とエラーを出して。絶対に送信できないようにするんです。

制限をかけることは、決して冷たい対応ではありません。むしろ。回答者にとっても「ここは半角数字で書けばいいんだな」と直感的にわかるので親切な設計だと思います。自由すぎる白紙の回答用紙より。枠とルールが決められたマークシートの方が圧倒的に入力しやすいんですよね。

入力規則は業務を守る防波堤

数量の入力欄を「半角数字のみ・0以上」に制限しただけで。翌月からの集計作業が嘘のようにスムーズになった。ダウンロードしたCSVを所定のシートに貼り付けた瞬間。VLOOKUP関数やSUMIFS関数が一度もエラーを吐かずに完走した。画面を前にして、オフィスの自席で思わず無言のガッツポーズをした。

次に、入力規則導入前の月間データクレンジング時間(15時間) vs 導入後の時間(0.5時間)

入力規則は、ただのシステム設定ではありません。自分の業務時間と精神的余裕を守るための、極めて堅牢な「防波堤」だったんです。

データは上流で断つ!フォーム設計の厳格化

Excelのマクロ(VBA)やPythonを使えば。どんなに汚いデータでも後から綺麗に整形することはできるかもしれません。でも、それは根本的な解決にはなりません。汚いデータが流れてくるのを下流で必死に綺麗にするより。最初から上流でゴミを捨てさせない仕組みを作る方が圧倒的に楽です。

一方で、フォームを作成する前の、最初の設計段階で妥協してはいけません。集めたデータを最終的にどうやって集計するのか、どんな関数にかけるのか。ゴールから逆算して、文字列が必要なのか数値が必要なのか。データの「型」を確定させてからフォームを作り始めることが本当に大切です。

自由記述欄は。どうしても必要な時の「最後の手段」として残しておくくらいがちょうどいいです。回答者を気遣うふりをして、結果的に自分を苦しめるのはもう終わりにしませんか。フォーム作りにおける少しの厳格さが。結果的に全員の時間を救う一番の近道になるはずです。

関連リンクとチェックリスト

学習サービスとアンケート

このスキルを活かしてさらに前へ進むなら

Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

プログラミングスクール Enjoy Tech!(エンジョイテック) →