Excelでのデータクリーニング
クリーンなデータが譲れない理由
汚れたデータはExcelの生産性を静かに蝕むものです。余分なスペース、不整合な書式、重複レコード、欠損値は数式を壊し、ピボットテーブルを混乱させ、誤った数字に基づく意思決定を招きます。調査によると、データ専門家は時間の60〜80%を分析ではなくデータのクリーニングに費やしていることが一貫して示されています。
朗報:Excelにはデータクリーニング専用に設計された強力な組み込みツールがあります。何千行も手動でスキャンする必要はありません。このガイドでは、データ準備時間を半減させる主要なテクニックを紹介します。
ステップバイステップ:実際のデータセットをクリーンアップする
シナリオ:レガシーシステムからCSVエクスポートを受け取りました。列Aには余分なスペースを含む名前、列Bには「市区町村, 都道府県 郵便番号」が1つのセルに結合されており、列Cには混在した日付形式、そして全体に重複行が散在しています。
ステップ1 — 必ず最初にコピーで作業する
- シートタブを右クリック > 移動またはコピー > コピーを作成する。コピー名を「Cleaned」にします。
- データの唯一のバージョンでクリーニングしないでください。クリーニング手順が失敗した場合でも、常に元のデータに戻ることができます。
ステップ2 — 重複行を削除する
- データ内の任意のセルをクリックし、Ctrl+Aを押してすべて選択します。
- データ > 重複の削除に移動します。
- 一意性を定義すべきでない列(同じレコードでも異なるタイムスタンプなど)のチェックを外します。キー列のみをチェック:例えば名前と日付です。
- OKをクリックします。Excelが削除された重複数と残りの一意な行数を報告します。
ステップ3 — TRIMとCLEANでテキストをクリーンアップする
- 名前列の隣に新しい列を挿入します(列Bを右クリック > 挿入)。ラベルを「Name_Clean」とします。
- 最初のデータ行に次のように入力:
=TRIM(CLEAN(A2)) - フィルハンドルをダブルクリックして下までコピーします。TRIMは先頭、末尾、余分なスペースを削除します。CLEANは印刷不可能な文字(システムエクスポートでよく見られます)を削除します。
- クリーンアップした列をコピーし、元の列を右クリック > 形式を選択して貼り付け > 値で数式をクリーンなテキストに置き換えます。ヘルパー列を削除します。
ステップ4 — 「区切り位置」で「市区町村, 都道府県 郵便番号」を分割する
- 結合された住所列を選択します。データ > 区切り位置。
- 区切り文字を選択し、次へをクリック。カンマを区切り文字としてチェックします。
- プレビューに分割結果が表示されます。次へをクリック。
- 各出力列のデータ形式を設定:「市区町村」は文字列、「都道府県 郵便番号」は文字列。完了をクリック。
- 次に「都道府県 郵便番号」を再度分割:選択して、区切り位置 > 区切り文字 > スペース。これで市区町村、都道府県、郵便番号の3つのクリーンな列ができました。
ステップ5 — 日付を標準化する
- 日付列を選択します。データ > 区切り位置 > 区切り文字 > すべての区切り文字のチェックを外す > 次へ。
- 「列のデータ形式」で日付を選択し、データに一致する形式(YMD、MDYなど)を選びます。
- 完了をクリック。Excelがすべての日付を一貫したソート可能な形式に変換します。
- まだ正しく表示されない日付には、統一書式を適用:Ctrl+1 > 表示形式 > 日付 > 希望の表示形式を選択します。
主要テクニック
テクニック1 — パターン認識のためのフラッシュフィル
フラッシュフィル(Ctrl+E)は手動編集を監視し、検出されたパターンに基づいて残りを自動補完します。
- フルネームの列の隣に、最初のセルから名を入力します。Enterを押します。
- 2番目の名前を入力し始めます。Excelが提案する補完のグレーのプレビューを表示します。
- Ctrl+Eを押して受け入れます。フラッシュフィルが全行から瞬時に名を抽出します。分割、結合、書式設定、テキストの一部抽出に使えます。
テクニック2 — ワイルドカードを使った検索と置換
- Ctrl+Hを押して検索と置換を開きます。
- 製品コードのハイフン以降をすべて削除するには:検索に
-*、置換に何も入れない。 *は任意の文字数に一致。?はちょうど1文字に一致。- 置換を実行する前に必ずすべて検索をクリックして一致するものをプレビューしてください。
よくある間違い
- 元のファイルでクリーニングする。 必ずコピーで作業してください。クリーニングは不可逆であることが多く — TRIMと区切り位置は元のデータ形式を破壊します。
- 分析せずに欠損データのある行を削除する。 空白セルはデータ収集の問題を示している可能性があり、無駄なレコードとは限りません。削除する前に、欠損データがランダムか体系的かを確認してください。
- TRIMは改行なしスペース(文字コード160)を削除しない。 Webデータにはよく含まれています。TRIMの前に
=SUBSTITUTE(A2, CHAR(160), " ")を使用して空白を完全にクリーンアップします。 - Excelが数値の先頭ゼロを削除する。 郵便番号、製品ID、社員番号では、インポート前に列を文字列として書式設定するか、
=TEXT(A2, "00000")で先頭ゼロを復元します。
上級ヒント
- データ品質ダッシュボードを構築する: COUNTA、COUNTBLANK、条件付き書式を使用して、各列の完全性(%)を示すサマリーを作成します。COUNTIFを使ったデータ入力規則で無効なエントリを自動的にフラグ付けします。
- 繰り返し可能なクリーニングのためのPower Query: データ > データの取得 > テーブル/範囲から でPower Queryを開きます。クリーニング手順(トリム、分割、フィルター、置換)を一度構築すれば、毎週新しいファイルをドロップして更新するだけ — すべての手順が自動再実行されます。
- Power Queryのあいまい結合: あいまい結合オプションは類似しているが同一ではないテキストを一致させます — 異なるシステムのテーブルを結合する際に「IBM Corp.」と「International Business Machines」を照合するのに最適です。
- UNIQUEとSORTでクイック重複参照: Excel 365では、
=SORT(UNIQUE(A2:A1000))で全一意値のアルファベット順ソートリストが返されます — 各列に実際に何が入っているかの即時参照になります。