AIでExcelデータをクレンジングする方法(2026ガイド)
なぜデータクレンジングが作業時間の80%を占め続けるのか
データアナリストに「最も時間を費やしている作業は何か」と尋ねれば、ほぼ例外なく同じ答えが返ってきます。「データクレンジング」です。ひとつのグラフが描かれる前、ひとつのインサイトが抽出される前に、生データは使える形に整えられなければなりません。重複行は統合が必要です。「MM/DD/YYYY」と「DD.MM.YYYY」が混在する日付フォーマットは統一しなければなりません。空セルに対しては、そのまま残すのか、ゼロで埋めるのか、補間するのかを判断する必要があります。「Califronia」や「Califorrnia」といったスペルミスがカテゴリ列に潜み、集計を静かに歪めています。電話番号は「(555) 123-4567」「+1 555-123-4567」「5551234567」と同じ列に混在した状態で届きます。シート間の統合は、あるチームが列名を「Customer Name」、別のチームが「Client Name」、さらに別のチームが「客户名」としているために破綻します。
これは些細な煩わしさではなく、ボトルネックそのものです。2026年現在、AIツールはこの状況を一変させました。かつて午後を丸ごと消費していた作業が、今では数分で完了します。乱雑なCSVをアップロードし、必要な処理を平易な英語で記述するだけで、AIがデータをスキャンし、問題を診断し、修正します。完全一致を超えた重複排除、インテリジェントなフォーマット統一、文脈を考慮した欠損値補完、意味理解に基づくクロスシートの不整合解消——このガイドでは、今日から使える実践的なプロンプトとツールを交えながら、すべての工程を段階的に解説します。
AIによる重複排除 — 完全一致を超えて
Excel標準の「重複の削除」機能には根本的な限界があります。それはセル値を文字単位で比較することです。42行目に「John Smith」、87行目に「J. Smith」とあれば、Excelはこれらを別レコードとして扱います。「Acme Corp.」と「Acme Corporation」も別物のままです。ここが従来の重複排除が機能しなくなり、AIが真価を発揮するポイントです。
AIモデルは、「J. Smith」と「John Smith」が同じ電話番号、メールドメイン、住所を共有している場合、同一人物を指す可能性が高いと理解します。「IBM」と「International Business Machines」が同じ企業体であることも認識します。これはファジー重複排除あるいはセマンティック重複排除と呼ばれ、複数の列を同時に分析して確率的な一致スコアを構築することで実現されます。
以下は、ファジー重複が疑われるデータセットをアップロードする際に、ChatGPTやClaudeで使用できる実践的なプロンプトです。
プロンプト: 「顧客リストをアップロードします。列はFull Name、Email、Phone、Address、Companyです。名前の表記ゆれ(例: 'J. Smith' と 'John Smith'、'Acme Corp.' と 'Acme Corporation')による重複行が多数あると疑っています。データセットをスキャンし、重複の可能性が高い行をすべてフラグ付けしてください。重複グループごとに、行番号、競合する値、確信度を提示してください。行の削除は行わず、フラグ付きレポートのみを生成してください。」
Excel内でより直接的なアプローチを取るなら、Microsoft Copilotのエージェントモード(2026年にExcel 365で利用可能)がファジー重複排除をネイティブに実行できます。データ範囲を選択し、次のようにプロンプトを入力するだけです。
Copilotプロンプト: 「このテーブルの重複行を、Name列とEmail列のファジーマッチングで検出してください。重複をグループ化し、データの完全性に基づいて保持すべき行を提案してください。」
AIは重複クラスターをグループ化して表示し、最も情報が充実している行を推奨保持行としてフラグ付けします。数式を一切書くことなく、すばやくレビューして削除を承認できます。
不整合なフォーマットの自動修正
不整合なフォーマットは、Excel分析における静かなる破壊者です。日付に見える列に、真の日付値、「Jan 15, 2026」のようなテキスト文字列、Excelが誤って解釈した数値が混在しているかもしれません。通貨列には「$1,200.00」「1200」「1,200元」が混ざっています。電話番号は半ダースもの異なる形式で存在します。国コードは「US」「USA」「United States」がバラバラに使われています。
AIはこれらのパターンを検出し、数秒で標準化できます。問題を手動で特定しパターンを定義する必要があるExcelの「区切り位置」や「フラッシュフィル」とは異なり、AIは列全体をスキャンして自動的に統一フォーマットを提案します。
日付の不整合を修正するためのプロンプトテンプレートは次のとおりです。
プロンプト: 「アップロードしたデータセットの列Bには、複数の形式の日付が混在しています。MM/DD/YYYY、DD/MM/YYYY、'March 5, 2026'のようなテキスト、一部はシリアル値です。存在するすべての形式を検出し、どの行がどの形式を使用しているかを教え、列全体を一貫したYYYY-MM-DD形式に変換してください。あいまいな値(例: '03/04/2026' が3月4日か4月3日か判断できないもの)がある場合は、レビュー用にフラグを付けてください。」
数値フォーマット(単位の除去、桁区切り文字の削除、純粋な数値への変換)には、以下のプロンプトを使用します。
プロンプト: 「列E('Revenue'ラベル)には、'$1,200.00'、'1200元'、'1.2K'、'1,200'、'1200.00'のような値が含まれています。列全体を小数点以下2桁のプレーンな数値に標準化してください。'1.2K'は1200.00に変換してください。変換が自明でない行については、検証用に変換前後の比較を提示してください。」
データがクリーンなCSVまたはExcel形式になったら、Excelの=IMPORTTEXT()関数と=IMPORTCSV()関数(2025年にExcel 365で導入)を使用して、クレンジング済みデータをブックに取り込めます。これらの関数では、区切り文字、エンコーディング、データ型などのインポートルールを数式内で直接定義できます。典型的なワークフローは次のとおりです。乱雑なデータをCSVにエクスポートし、AIでクレンジングし、=IMPORTCSV("C:\CleanedData\sales_clean.csv", ",", TRUE)でインポートします。第3引数は先頭行がヘッダーであることを指定します。
欠損値のインテリジェントな検出と補完
欠損データへの従来のアプローチは粗雑です。空白行の削除、ゼロ埋め、列平均での埋め合わせ——これらの方法は分析を歪めます。行を削除すれば情報を失います。「Salary」列のゼロはデータポイントであり、欠損値ではありません。平均値での埋め合わせはサブグループのパターンを無視します——全部門の平均給与からは、エンジニアリングマネージャーの推定年収について何もわかりません。
AIは文脈に基づいて欠損値を補完します。同じ行の関連列を参照し、データセット全体のパターンを調べ、情報に基づいた代入を行います。たとえば、「Region」が欠けている行に「Zip Code」として94105があれば、AIは「West Coast — San Francisco」と推論します。「Annual Revenue」が欠けていても「Number of Employees」が250、「Industry」が「SaaS」であれば、AIは単純な平均ではなく業界ベンチマークに基づいて妥当な売上範囲を推定します。
インテリジェントな欠損値補完のためのプロンプトです。
プロンプト: 「アップロードした売上データセットには、複数の列にわたって欠損値が散在しています。データセットを分析し、各欠損値について、同じ行の関連列に基づく補完値を提案してください。カテゴリ列(例: 'Region'が欠けているが'Zip Code'が存在する)では、最も可能性の高い値を推論してください。数値列(例: 'Revenue'が欠けているが'Units Sold'と'Avg Price'が存在する)では、計算による補完値を算出してください。提案は、行番号、列名、欠損値(Before)、提案値(After)、推論理由の列を持つ表形式で提示してください。上書きは行わず、提案のみを提示してください。」
時系列データ(月次売上高、株価、Webサイトトラフィックなど)に対しては、AIがトレンドと季節性を尊重した補間を実行できます。
プロンプト: 「このデータセットは2024年1月から2025年12月までの月次売上高ですが、2025年3月、7月、11月が空白です。データには強い季節パターン(6月と12月にピーク)が見られます。単純な線形補間ではなく、季節パターンと隣接月を用いて欠落月を補間してください。計算過程も示してください。」
AIは、隣接月よりも前年同月により大きな重みを置いた加重補間で応答するかもしれません——単純な=AVERAGE(B2,B4)では決して達成できない処理です。
AIによるクロスシートデータ統合と照合
複数ソースからのデータ統合は、AIの意味理解能力が最も輝く場面です。従来のVLOOKUPやINDEX-MATCHは、列名の完全一致を要求します。営業チームのスプレッドシートに「Customer Name」列があり、経理部門が「Client Name」、物流部門が「客户名」を使っている場合、数式でこのギャップを埋めることはできません——人間が事前に列のマッピングを手動で行わなければなりません。
AIは、これら3つの列が同じ概念を指していることを理解します。シート間の列ヘッダーを分析し、意味的な等価性を検出して、マージキーのマッピングを提案できます。この能力は単純な同義語マッチングをはるかに超えています。AIは、あるシートの「Invoice Date」が別のシートの「Billing Date」に対応すること、「PO Number」と「Purchase Order #」が同じフィールドであること、「Qty」と「Quantity Ordered」を対応付けるべきであることを認識します。
クロスシート統合のためのプロンプトです。
プロンプト: 「2つのExcelシートをアップロードします。Sheet1(Sales)の列: Order ID, Customer Name, Product, Quantity, Order Date。Sheet2(Finance)の列: Transaction ID, Client Name, Item, Qty, Invoice Date。これらを1つのデータセットに統合する必要があります。以下を実行してください: (1) 2つのシート間で意味的に対応する列を特定、(2) 最適なマージキー(主キー)を提案、(3) 一方のシートにのみ存在する行をフラグ付け、(4) 同じOrder IDで値が矛盾している行(例: シート間で数量が異なる)をフラグ付けしてください。」
照合作業——ベンダー請求書と発注書の突合、倉庫と会計システム間の在庫数比較——において、AIは単純なIF比較では不可能なレベルの知性を提供します。
プロンプト: 「シートAには450件のベンダー請求書(列: Vendor, Invoice#, Amount, Date, Description)が含まれています。シートBには450件の発注書(列: Supplier, PO#, Total, PO Date, Line Items)が含まれています。2つのシートを照合してください。ベンダー名で請求書とPOをマッチングし('Staples Inc.' と 'Staples' のような表記ゆれを処理)、金額を比較して$50を超える差異をフラグ付けし、未照合の請求書またはPOを特定してください。照合レポートを作成してください。」
実際の在庫監査シナリオでは、ある小売企業がこのアプローチを用いて、1,200件のスキャン在庫レコードをERPシステムの出力と照合しました。AIは47件の不一致をフラグ付けしました——そのうち12件は手動監査が見逃していた真の計数ミスであり、8件は意味的な不一致(倉庫は「Wireless Mouse Model-X」と記録、ERPは「Mouse, Wireless, X-Series」と記録)で、従来のVLOOKUPでは完全な未登録品として報告されていたものです。
ステップバイステップ: AIで実際の乱雑なデータセットをクレンジングする
現実的な乱雑なデータセットを用いて、完全なデータクレンジングワークフローを順を追って見ていきましょう。あるSaaS企業の5,000件のカスタマーサポートチケットの公開データセットをダウンロードしたと想定します。CSVの列は次のとおりです: Ticket ID, Customer Name, Email, Issue Category, Priority, Created Date, Resolved Date, Agent, Resolution Time (hrs), Satisfaction Score。
ファイルを開くとすぐに問題が見つかります。日付形式が混在している、Satisfaction Scoreの一部がテキスト("N/A")、Priorityが "High"/"high"/"HIGH"/"H" とバラバラ、Agent名にタイポ、Resolution Timeが3行で負の値——以下が、AIを使ってこのデータセットを段階的にクレンジングする手順です。
ステップ1: AIによるデータ品質スキャン。
まず、CSVをChatGPTまたはClaudeにアップロードし、以下のプロンプトを入力します。
プロンプト: 「このデータセットを分析し、データ品質レポートを作成してください。各列について以下をリストアップしてください: (a) 欠損値の数、(b) ユニーク値の数、(c) 検出されたデータ型、(d) 異常値(外れ値、あり得ない負の数、フォーマットの不整合、カテゴリ列のタイポ)。深刻度順に上位10の問題のサマリーを提示してください。」
AIは、23件の重複顧客レコード、Priority列の14種類のフォーマットバリエーション、8件のAgent名スペルミス、3件の負の解決時間(あり得ない値)、47件のSatisfaction Score欠損を特定したレポートを返します。これで優先順位付きの修正リストが手に入りました。
ステップ2: 重複排除。
プロンプト: 「Customer NameとEmailのファジーマッチングを使用して、すべての重複顧客をグループ化してください。グループごとに行をフラグ付けし、保持すべき行(最もデータが完全な行)を提案してください。処理を進める前にグループ分けを提示してください。」
承認後、AIは重複を統合し、すべてのフィールドが埋まっている行を保持します。
ステップ3: フォーマット標準化。
プロンプト: 「以下の列を標準化してください: (1) Priority — すべてのバリエーション('High', 'high', 'HIGH', 'H')を一貫した 'High' 形式にマッピング、MediumとLowも同様に処理。(2) Created DateとResolved Date — すべてを YYYY-MM-DD に変換。(3) Agent — タイポを修正。正しいエージェント名は [正しい名前のリスト] です。ファジーマッチングで各誤記を正しい名前にマッピングしてください。すべての変更についてBefore/Afterを提示してください。」
ステップ4: インテリジェントな欠損値処理。
プロンプト: 「47件の欠損しているSatisfaction Scoreについて: 平均値で埋めないでください。代わりに、欠損スコアが特定のエージェント、イシューカテゴリ、解決時間と相関しているかどうかを分析してください。パターンが存在する場合は、調査用にフラグを付けてください。現時点では 'Pending Survey' としてマークしてください。3件の負のResolution Time: これらはデータ入力エラーです。Created DateとResolved Dateが有効であれば、それらの日付からResolution Timeを再計算してください。」
ステップ5: 検証。
プロンプト: 「上記のすべてのクレンジング手順の後、データセットに対して最終検証を実行してください。以下を確認してください: (a) 重複行が残っていないこと、(b) すべての日付が YYYY-MM-DD であること、(c) Priorityが 'High', 'Medium', 'Low' のみを含むこと、(d) すべての行で Resolution Time が非負であること、(e) すべてのエージェント名が既知のリストにマッピングされていること。Before/Afterの統計をまとめた 'Clean Data Certificate' を作成してください。」
このワークフローの最後には、本番環境で即座に使用できるデータセットが完成します。フィルタリング、ソート、IF関数の記述、手動でのタイポ修正など、かつて3〜4時間の手作業Excel作業を要した工程が、プロンプト入力とレビューに約20分で完了します。
2026年 Excelデータクレンジングに最適なAIツール
2026年のAIデータクレンジングの世界には、あらゆる複雑さとコストレベルのツールが揃っています。以下は、あなたのワークフローに最適なツールを選ぶための実践的な比較です。
- Microsoft Copilot エージェントモード(Excel 365に組み込み): すでにExcel 365を使用している場合、最もシームレスな選択肢です。CopilotはExcelリボンに直接統合され、自然言語プロンプトからデータクレンジング、数式提案、グラフ生成を実行できます。シート名、名前付き範囲、テーブル構造などのワークブックコンテキストを理解しているため、データレイアウトを繰り返し説明する必要はありません。長所: セットアップ不要、Excelとの深い統合、エンタープライズグレードのセキュリティ。短所: Microsoft 365サブスクリプションが必要。ファジー重複排除と高度なセマンティッククリーニングは十分だが、専用AIプラットフォームほどの深さはない。
- ChatGPT(GPT-4o、ファイルアップロード + Advanced Data Analysis): CSVまたはExcelファイルをチャットインターフェースに直接アップロードし、対話形式でクレンジングします。ChatGPTのAdvanced Data Analysisモードは、バックグラウンドでPythonコード(pandas、fuzzywuzzy、scikit-learn)を実行できるため、コードを1行も書かずにプログラム水準のクレンジングが可能です。長所: 非常に柔軟、最大約50MBのデータセットを処理、すべての変換を平易な英語で説明。短所: Excelからの手動ファイルエクスポート/インポートが必要。大規模データセットはトークン制限に達する可能性がある。ワークブックへの永続的な接続はなし。
- Claude(Anthropic、200Kコンテキストウィンドウ): Claudeの極めて長いコンテキストウィンドウにより、1回の会話で約15万行のCSVデータまで、より大規模なデータセットを処理できます。クロスシート照合や、より単純なツールでは見逃される微妙なデータ品質パターンの検出といった複雑な推論タスクに強みがあります。長所: 巨大なコンテキストウィンドウ、エッジケースやあいまいなシナリオの説明に優れる、セマンティック統合が強力。短所: Excelとの直接統合なし。組み込みのコード実行機能なし(生成されたPython/Excel数式を手動で貼り付ける必要がある)。
- Numerous.ai(=AI()関数): Numerous.aiは
=AI()関数をExcelのセルに直接埋め込みます。セルB2に=AI("Clean and standardize this phone number: "&A2)と記述し、下にドラッグするだけで、各セルが独立してAIを呼び出します。長所: セルレベルの統合、コンテキスト切り替え不要、使い慣れたExcelグリッド内で動作。短所: APIコストがセル単位で発生(10,000行のクレンジング = 10,000 API呼び出し)。各セルが独立処理されるため、行をまたぐ推論やシート間推論には不向き。 - OpenAI Advanced Data Analysis(旧Code Interpreter): ChatGPT Plus/Team/Enterpriseプランで利用可能。このモードはAIにPythonサンドボックスを提供し、データの読み込み、クレンジング、変換、可視化を実行できます。ユーザーに代わってpandasコードを作成・実行し、再利用可能なコードも表示します。長所: コーディング不要でプログラム水準の精度、pandas/polarsの全エコシステムが利用可能、再利用可能なPythonスクリプトを生成。短所: セッションベースのため、セッションごとにデータを再アップロードする必要がある。データについて推論する直接のLLM会話よりも、ファジー/セマンティックタスクでは劣る。
2026年の最善のアプローチは多くの場合ハイブリッドです。ChatGPTやClaudeを重いセマンティッククリーニング(重複排除、フォーマット検出、クロスシート照合)に使用し、クレンジング済みCSVをExcelにインポートして、Copilotに継続的な数式生成と可視化を任せます。定期的なクレンジングタスクについては、Advanced Data Analysisが生成したPython/pandasスクリプトを保存し、新しいデータ到着時に自動実行するようスケジュールします。