AIで2つのExcelファイルを比較する方法|差分を整理する

二つの台帳を照合し、キー欠損や重複を残したまま、追加・削除・変更・未一致を検算できる表にする。

AIものさし編集部

2つのExcelをAIで比較するときは、先に「同じレコードを何で結び、何が変わったら差分と呼ぶか」を決めます。ファイルを渡すだけでは、同じ名前の別人、重複ID、日付の型違いまで正しく区別できるとは限りません。完成形は、追加・削除・変更の根拠を元データへ戻って確かめられる差分表です。

比較前に決める項目は四つです。旧版と新版のどちらが基準か、行を識別するキー、比較する列、許容する差です。例えば商品台帳なら、SKUをキーに商品名・価格・在庫状態を比べ、説明文や更新者は比較対象から外す、といった具合です。価格が数円違うだけでも差分にするのか、丸め誤差を許容するのかは業務で決めます。AIへ判断を丸投げする前に、差分の定義を人が持つことが誤判定を減らす近道です。

まず比較の前提を短く記録する

次のような比較契約をメモしてからファイルを開くと、依頼文と結果のレビューが揃います。

  • 基準ファイル:2026年9月版。比較対象:2026年10月版

  • キー:SKU。空欄または重複があれば、勝手に一意化せず要確認

  • 比較列:商品名、単価、販売状態

  • 差分区分:追加、削除、指定列の変更

  • 数値:元値・新値・差額を表示。率は基準値が0なら算出せず「対象外」

  • 出力:キー、区分、列名、旧値、新値、確認メモ

この契約は、全セルを機械的に比べるよりも結果を業務へつなげるためのものです。担当者や更新時刻のように毎回変わる列を混ぜると、実質的な変更が埋もれることがあります。一方、比較対象から外した列も記録し、後から「なぜ差分に出なかったか」を説明できるようにします。

キーと表の形を点検する

二つのファイルで同じレコードを見つけるキーを確認します。顧客番号、SKU、社員IDのような安定した識別子があれば優先します。氏名や商品名だけをキーにすると、表記揺れ・改名・同姓同名で別行を誤って結合する可能性があります。キー候補が存在しない場合は、その事実を先に示し、組み合わせキーを業務担当者が確定してから比較します。

キー列では、空欄件数と重複件数を数えます。同じSKUが二行あるときに、AIがどちらかを選んで比較したり、似た名前を使って行を結びつけたりするのは危険です。重複があれば対象行を一覧に出し、除外・統合・別のキー採用を人が決めます。先にファイルを整形するなら、元ファイルの複製を作り、変更前後が分かるようにします。

列名は両ファイルで同じ意味に揃えます。「金額」「価格」「単価」のような違いは同じ意味かもしれませんが、通貨、税の扱い、期間が異なる場合もあります。数値に見える文字列、日付の表示形式、空欄と0、全角半角、前後の空白を確認してください。値を無断で正規化して比較すると、元データを変えたのか表記だけを揃えたのか分からなくなるため、変換内容を別途記録します。

複合キーは列の組として確認する

商品コードだけでは行を識別できず、「店舗コード+商品コード」で一行になる台帳を考えます。次は説明用の架空例です。店舗を落とすと、同じ商品を扱う別店舗の行が誤って結ばれます。

表は横にスクロールできます

店舗コード商品コード旧在庫新在庫判定
01A1046同じ組が一つずつなら在庫変更
02A103301のA10とは別の行
空欄A102未照合キー欠損として例外へ
03B20旧側に2行新側に1行重複を解消するまで未照合

結合前に、旧・新それぞれでキーを構成する全列の欠損と、同じ組の重複を確認します。店舗コードの「01」を数値の「1」へ変えるかどうかも、識別子の定義に従って決めます。文字列を単純連結して「1+23」と「12+3」が同じ値になる方法は避け、列の組をそのまま照合条件にする方針をAIへの依頼にも明記します。

出力には店舗コードと商品コードを別列で残し、旧・新の元ファイルと行を追える情報を付けます。欠損・重複は追加や削除へ数えず、例外表へ分けます。有効な一意キーだけを照合した後、旧の有効行数=共通キー数+削除数、新の有効行数=共通キー数+追加数になるかを確認します。変更数は共通キーの内数です。例外行数も別に数え、原本の総行数とつなげて検算してください。

この例は照合設計の説明であり、ExcelやAIの実行結果ではありません。

AIへ依頼するときは、旧・新と出力列を固定する

ChatGPTのデータ分析では.xlsxや.csvなどの表計算ファイルを扱えます。ただし、ファイル形式を読み込めることと、業務ルールどおりに全件比較できたことは別です。まず小さな複製でキーと出力形式を試し、結果と分析方法を確認してから本番相当のファイルへ広げます。機密情報を含む場合は、組織の利用ルールとアップロード先の設定を確認し、必要なら匿名化・列削除・承認済み環境を使います。

依頼文の例:

「旧版を基準、新版を比較対象として、SKUで対応付けてください。比較列は商品名・単価・販売状態です。追加、削除、変更を分け、変更行はSKU、区分、変更列、旧値、新値を一行に出してください。キーの空欄・重複、対応できない行、比較できない値は別の確認一覧へ出し、推測で対応付けないでください。数値差の計算式と、処理の前提を説明してください。」

結果を受け取ったら、行数だけで完了にしません。AIが使ったキー、比較列、空欄や重複への処理、文字列と数値の扱い、差額計算の条件を読みます。必要に応じて、出力したコードや計算の前提を確認します。条件が不明なまま「差分なし」と返された場合は、その結論を採用せず、対象列と未照合行を具体的に出させます。

差分表は追加・削除・変更を分ける

一つの表にすべてを詰めると、追加行と値の変更が混在します。まず区分ごとに件数を示し、その下に行単位の一覧を作ります。変更の一覧には、旧値と新値を隣に置き、どの列が変わったのかを明記します。複数の列が変わった場合は、列ごとに行を分けるか、列を固定した横持ち形式にするかを、確認する人に合わせて選びます。

たとえば単価が1,200円から1,350円になったなら、「差額 +150円」と旧・新の双方を出します。増減率を出す業務では、計算の基準を明示し、旧値が0や空欄の場合は数値を作らず「算出対象外」とします。文字列の変更は「変更あり」だけで終わらせず、旧文と新文を見比べられるようにします。個人情報などを含む出力は、閲覧者と保存先を制限します。

件数と代表行を元ファイルで検算する

結果の表を受け取ったら、旧・新それぞれの総行数とキーの一意件数を照合します。新規行数、削除行数、共通キー数の関係が元ファイルから説明できるか確認します。全体件数が一致しても、キーの重複による誤対応は見落とせるため、追加・削除・変更から数行ずつ選んで原ファイルへ戻ります。金額や状態変更のように影響が大きい行は、少数でも優先して確認します。

Spot checkでは、行番号だけでなくキーと列名を記録します。フィルターや並べ替え後に行番号が変わるためです。たとえば「SKU A-104の単価、旧版1200、新版1350、元シートの該当列で一致」のように、追跡できる根拠を残します。差分表からキーを検索しても見つからない、旧値がファイルに存在しない、出力にない行が想定される場合は承認を止め、比較条件か入力ファイルを見直します。

Excel側で続けて確認する

結果をExcelへ戻す場合、AI出力をそのままマスタへ貼り付けず、確認用シートへ分けます。区分で絞り、追加行の登録先、削除行の扱い、変更の承認者を決めてから元の業務データへ反映します。毎月同じ比較を行うなら、キー、列、許容差を手順書へ固定し、対象期間や例外だけを都度更新すると再現しやすくなります。

差分件数が多い場合は、まず異常値やキー問題を優先し、変化の少ない列を後回しにします。全行の差を一度にレビューするのではなく、追加・削除・重要列の変更・確認保留を分けると、承認者が見るべき点が明確になります。比較結果を配布する前に、不要な個人情報列や内部メモが残っていないかも確認します。

読後に行うこと

次に比較するファイルを複製し、旧版・新版の名前と対象期間を分かる形にします。比較契約を埋め、キーの空欄と重複を確認します。その後にAIへ依頼し、出力した差分から代表行を原ファイルで照合してください。キーが決まらない、比較対象列の意味が揃わない、入力に機密情報が含まれ利用条件を確認できない場合は、結果を業務判断へ使わず、その条件を整えるところまでを今回の完了とします。

例外行を「要確認」で止める

比較結果には、通常の追加・削除・変更とは別に、機械的に判断できない行が出ます。キーが空欄の行、同じキーが複数ある行、数値列に文字が混じる行、日付として解釈できない値などです。これらを無理に通常の差分区分へ押し込むと、実際には対応付けられていない行が変更扱いになることがあります。例外一覧には、ファイル名、キー値、該当列、問題の種類、次に判断する人を出します。

例外が見つかったときは、まず修正前の入力を保存します。空欄キーへ仮の連番を入れても、旧版と新版で同じ行だとは限りません。重複キーを一つにまとめるのも、元の件数や履歴を失うおそれがあります。データの責任者がキーの修正方法を決め、そのルールを反映した複製を作ってから比較をやり直します。判断できない行は「未比較」として残し、差分なしの件数へ含めないことが大切です。

変更を反映する前の完了ゲート

比較作業を終える前に、次の順で確認します。入力ファイルの版と対象期間が正しい。キーの空欄・重複と未対応行が説明されている。比較列と除外列が契約どおりである。追加・削除・変更の件数が元表から検算できる。重要な差分の代表行を元ファイルで照合した。最後に、変更を適用する担当者と承認方法が決まっている。この順番を満たさない場合は、差分表を作成済みでも反映準備完了とは呼びません。

特に価格、契約状態、在庫、権限のように後工程へ影響する列は、AIの表だけを根拠に更新しません。変更前の値を保存し、承認者が内容を確認してから対象システムへ反映します。比較表に誤りがあったときに戻せるよう、実行前のファイルを保持し、変更後の件数と代表値も記録します。これで「比較できた」と「変更を安全に適用した」を別の完了条件として扱えます。

例として、月次の顧客一覧を比べるなら、退会後に同じ顧客番号が再利用される運用かどうかも確認点です。番号の再利用がある場合、同じキーだけでは別時点の人物を誤って結ぶ可能性があります。運用上の有効期間や版番号も含めた識別ルールが決まるまで、そのレコードを保留にします。

AIものさしの判断

Excel比較で大切なのは、AIに二つの表を渡したことではなく、差分の定義・キー・検証方法を人が説明できることです。比較の前提を短く記録し、追加・削除・変更を分け、出力の一部を元データへ戻って確認します。

AIの結果と元ファイルが食い違うときに、確認可能な手掛かりが残っている差分表なら、業務の次の作業へ渡せます。曖昧なキーや未確認の行を推測で埋めず、保留として返すことも正しい結果です。

次に読む・使う

この記事の次に必要な情報へ進めます。