芋出し画像

Excelで芋た目は同じなのに䞀臎しない。空癜・重耇デヌタをたずめお敎えるアプリを䜜りたした

Excelを䜿っおいお、こんなこずはないでしょうか。

同じ文字に芋える。

なのに、怜玢するず䞀臎しない。

VLOOKUPやXLOOKUPでもヒットしない。

芋比べおも、

「いや、どう芋おも同じじゃん  」

ずなる。

䟋えば、画面䞊ではどちらも

田侭

に芋えおいおも、実際のデヌタが

田侭

ず

田侭

だったら、Excel䞊では別の文字列ずしお扱われたす。

埌ろにたった1個、芋えないスペヌスが入っおいるだけです。

こういう小さな違いは、デヌタが数件ならすぐ盎せたす。

でも100行、1000行ず増えおくるず、

「どこがおかしいのか探す䜜業」

そのものが面倒になっおきたす。

今回は、この「ExcelやCSVを集蚈する前の地味な掃陀」をたずめおできるWindowsアプリを䜜りたした。

その前に、そもそもなぜこういうこずが起こるのかを敎理しおみたす。


芋た目が同じでも、デヌタずしおは違うこずがある

䟋えば、この2぀です。

田侭

田侭

芋た目ではほずんど分かりたせん。

でも2぀目には、末尟にスペヌスがありたす。

ほかにも、

䜐藀

䜐藀

のように先頭にスペヌスが入っおいたり、

半角スペヌスではなく党角スペヌスが混ざっおいたりするこずがありたす。

人間が芋るず同じように芋えおも、PCにずっおは別の文字列です。

だから、

「䞀芧には絶察あるのにXLOOKUPで芋぀からない」

「COUNTIFの件数が思ったより少ない」

ずいったこずが起こりたす。


デヌタが汚れる原因は、入力ミスだけではない

こういうデヌタを芋るず、

「入力した人が適圓だったのでは」

ず思いたくなるのですが、必ずしもそうずは限りたせん。

Excelに手入力したデヌタだけでなく、

Webシステムから出力したCSV。

アンケヌト結果。

別のExcelからコピヌしたデヌタ。

耇数人で線集した衚。

倖郚゜フトから曞き出した䞀芧。

こうしたファむルを組み合わせおいるず、少しず぀衚蚘が混ざるこずがありたす。

さらに厄介なのが、

芋た目では気付きにくいこず。

Excelのセルを眺めおも、

田侭

ず

田侭

の違いはほが分かりたせん。


重耇デヌタも地味に厄介

スペヌスだけではありたせん。

䟋えば、

A001 田䞭 営業郚

A001 田䞭 営業郚

ずいう完党に同じ行が2぀入っおいたら、単玔な集蚈では2件ずしおカりントされたす。

本圓は1人なのに2人。

売䞊デヌタなら1件なのに2件。

もちろん、「同じ内容だから重耇」ずは限らないデヌタもありたす。

だからこそ、

勝手に削陀するのではなく、たず重耇が䜕件あるのか確認する

こずが倧切です。


空癜行も、数行なら気にならない

衚の途䞭にこんな空癜が入っおいるこずもありたす。

A001 田䞭 営業郚

A002 䜐藀 開発郚

A003 鈎朚 研究郚

1行なら手䜜業で削陀できたす。

でも倧きなCSVでは、

「空癜行が䜕個あるのか」

を探すずころから始たりたす。

こういう䜜業っお、䞀぀ひず぀は簡単なんですよね。

難しい凊理ではありたせん。

でも、

簡単な䜜業が倧量にあるず急に面倒になる。

TomoLabで最近ツヌルを䜜っおいお、䜕床もこの問題に行き着きたす。


Excelだけでも盎せる

もちろん、専甚アプリがないず解決できない問題ではありたせん。

䟋えば前埌の䜙分なスペヌスなら、ExcelのTRIM関数を䜿えたす。

=TRIM(A2)

重耇デヌタなら、

デヌタ → 重耇の削陀

でも凊理できたす。

空癜行もフィルタヌなどを䜿えば削陀できたす。

なので、数十行皋床のデヌタをたたに盎すだけなら、Excelだけで十分だず思いたす。

問題は、

毎回やる堎合です。

ファむルを開いお、

䜙分なスペヌスがないか調べお、

重耇を確認しお、

空癜行を探しお、

関数を䜜っお、

倀に戻しお  

本来やりたいのは、その埌の集蚈や分析なのに、

分析を始める前の準備に時間を取られる。

ここをどうにかしたいず思いたした。


そこで「デヌタを盎す前に蚺断する」アプリを䜜った

今回䜜ったのが、

▶ TomoLab Data Cleaner v1.1BOOTH

です。

ExcelやCSVを読み蟌んで、

たず、

「このデヌタに䜕があるのか」

を確認したす。

いきなり自動修正はしたせん。

ここはかなり意識したした。

ファむルを遞んで「蚺断する」を抌すず、行数や列数に加えお、空癜行・完党重耇行・前埌にスペヌスがあるセルなどを確認できたす。

䟋えば、

芁確認16件の修正候補がありたす

ずいうように衚瀺されたす。


なぜ「自動で党郚きれいにする」にしなかったのか

最初は、

ワンクリックで党郚きれいにする

でもいいかなず思いたした。

でも、実際のデヌタを考えるず少し怖いです。

䟋えば、

A  B

ずいう2぀のスペヌスが、

入力ミスなのか。

意図的なのか。

アプリ偎には刀断できたせん。

重耇行も同じです。

同じ内容の行が2぀あるからずいっお、必ず削陀しおいいずは限りたせん。

だからこのアプリでは、

蚺断する

↓

盎す内容を自分で遞ぶ

↓

凊理埌を確認する

↓

保存する

ずいう順番にしたした。


必芁なものだけ遞んで敎える

珟圚のバヌゞョンでは、䞻に次の凊理を遞べたす。

  • セル前埌の䜙分なスペヌスを削陀

  • 党角スペヌスを通垞のスペヌスに統䞀

  • 連続した半角スペヌスを1぀にする

  • 完党に空の行を削陀

  • 完党に同じ重耇行を削陀

䟋えば、

「 䜐藀 」

なら、

「䜐藀」

ぞ。

でも、自分が䜿いたくない凊理はOFFにできたす。

党郚を匷制的に実行しない

のがポむントです。


保存する前にBefore / Afterを芋る

デヌタを扱うツヌルで䞀番怖いのは、

「実行したけど、䜕が倉わったのか分からない」

こずだず思いたす。

なので、保存前に

凊理前

ず

凊理埌

を切り替えお確認できるようにしたした。

さらに、

「䜕セル倉曎したか」

「空癜行を䜕行削陀したか」

「重耇行を䜕行削陀したか」

も衚瀺したす。


「䜕を倉えたか」も衚瀺する

今回さらに入れたのが、

倉曎履歎

です。

䟋えば、

3行目・1列目「 䜐藀」→「䜐藀」

のように衚瀺したす。

空癜行を削陀した堎合も、

7行目完党に空の行のため削陀

のように分かりたす。

自動化ツヌルだからこそ、

凊理をブラックボックスにしない

ようにしたした。


元のExcelは䞊曞きしない

これも重芁です。

䟋えば、

sales_data.xlsx

を読み蟌んだ堎合。

凊理埌は、

sales_data_cleaned.xlsx

のように、別のファむルずしお保存できたす。

元デヌタを盎接倉曎する仕様にはしおいたせん。

「やっぱり元の方がよかった」

ずなっおも、元ファむルは残っおいたす。


ファむルはPCの倖ぞ送らない

ExcelやCSVには、

仕事のデヌタ。

顧客情報。

研究デヌタ。

売䞊デヌタ。

などが含たれるこずがありたす。

そのためTomoLab Data Cleanerでは、

Excel / CSVをPC内だけで凊理したす。

ファむルを倖郚サヌバヌぞアップロヌドする機胜はありたせん。

オンラむンツヌルを䜿いたくないデヌタでも扱えるようにしたした。


どんな人向け

個人的には、このアプリが䞀番向いおいるのは、

「CSVを出力しお、Excelで集蚈する人」

だず思っおいたす。

䟋えば、

業務システムからCSVを出す。

↓

Excelで開く。

↓

別の䞀芧ずXLOOKUPする。

↓

ピボットテヌブルで集蚈する。

このような䜜業をしおいるず、

「なぜか䞀臎しない」

「件数がおかしい」

ずいう問題が起こるこずがありたす。

そんなずきに、

集蚈を始める前のチェック

ずしお䜿うむメヌゞです。

研究でExcelやCSVを扱う堎合も同じで、解析ぞ進む前に衚デヌタを䞀床確認したいずきに䜿えたす。


逆に、向いおいないExcelもありたす

泚意点もありたす。

▶ TomoLab Data Cleaner v1.1BOOTHは、

集蚈・分析甚のデヌタ衚

を察象にしおいたす。

䟋えば、

セルを倧量に結合しお䜜った垳祚。

耇雑なレむアりトの芋積曞。

特殊な数匏や倖郚参照が倧量に入ったExcel。

こういったファむルを「きれいに敎圢する」ためのアプリではありたせん。

特に空癜行や重耇行を削陀するず、行自䜓が詰たりたす。

なので、

1行1ä»¶

のような衚圢匏のデヌタに向いおいたす。


▶ TomoLab Data Cleaner v1.1BOOTH

今回䜜ったアプリはこちらです。

▶ TomoLab Data Cleaner v1.1BOOTH

Windows向け・買い切り 680円

Excel / CSVに察応しおいたす。

䞻な特城は、

蚺断 → 凊理遞択 → Before / After → 倉曎履歎 → 別ファむル保存

ずいう流れです。

「党郚自動できれいにする」よりも、

䜕が問題なのか分かった䞊で、安党に盎せるこず

を優先したした。

▶ TomoLab Data Cleaner v1.1BOOTH


「芋た目は同じ」を疑っおみる

Excelで怜玢や照合がうたくいかないず、

関数が間違っおいるのかな。

参照範囲がおかしいのかな。

ず思っお、数匏ばかり確認しおしたうこずがありたす。

でも原因が、

末尟に入った1個のスペヌス

だったりしたす。

Excelで、

「絶察同じなのに、なんで䞀臎しないんだ」

ずなったら、

䞀床デヌタそのものを疑っおみるず解決するかもしれたせん。

そしお、その確認を毎回やるのが面倒なら、今回のツヌルを䜿っおみおください。


TomoLabに぀いお

TomoLabでは、

「1回なら簡単。でも䜕十回もやるず面倒。」

そんなPC䜜業を少し楜にするWindowsツヌルを䜜っおいたす。

今回も、難しいこずを自動化したずいうより、

本来やりたい䜜業ぞ進む前の面倒を枛らす

ために䜜りたした。

ExcelやCSVに぀いお、

「これも毎回盎すのが面倒」

ずいう䜜業があれば、コメントで教えおもらえるずうれしいです。

今埌のアップデヌトの参考にしたす。

いいなず思ったら応揎しよう