公開日:
Excelの2つのファイルを比較する方法|変更箇所・追加行・差分の確認手順
「先週送ったExcelと、今日戻ってきたExcelのどこが変わったのか分からない」。総務の備品台帳、営業の取引先リスト、経理の集計表では、同じようなファイルが何度も行き来します。
Excelの比較方法は、同じ位置のセルを見比べたいのか、IDで同じ行を照合したいのかによって変わります。行の並びが違うファイルを、上から1行ずつ比較するだけでは誤判定が起こります。
この記事では、Excel標準機能を使った2つの比較方法と、配布後に元台帳も変更された場合の注意点を紹介します。画面・機能名はExcelの版によって異なります。
図1:同じIDで照合すると、並び順が違っても変更・追加・削除の候補を区別できます。架空データの概念図です。
1. 同じレイアウトなら「並べて表示」で目視比較
表の形・並び順がほとんど変わらず、差が少ない場合は次の方法が手軽です。
- 比較する旧版と新版のExcelファイルをそれぞれ開きます。
- [表示]タブの[並べて表示]を選びます。
- 必要なら[同時にスクロール]で同じ位置を見ながら、金額や数式を確認します。
- 差を見つけたら、変更内容とセル位置を別の確認表へ記録します。
この方法は、並び順が同じ・少量の差分を見たい場合に向きます。行の追加、並べ替え、列の移動が多いと、見た目だけでは変更と移動を区別しにくくなります。
2. 行が並べ替えられているなら、一意のIDで照合する
例えば機器台帳のA列を機器ID、B列を部署、C列を利用者数とします。旧版・新版を原本とは別の比較用ブックへ、旧版 と 新版 の2シートとしてコピーします。
| ID | 旧版の部署・人数 | 新版の部署・人数 | 判定 |
|---|---|---|---|
| 101 | 総務・6 | 総務・6 | 変更なし |
| 102 | 経理・12 | 経理・14 | 人数を変更 |
| 103 | 営業・5 | (存在しない) | 削除候補 |
| 104 | (存在しない) | 情シス・2 | 追加候補 |
IDが重複していないことを前提に、まず新版のD2へ次の式を入れ、下へコピーします。
=IF(COUNTIF(旧版!$A$2:$A$100,A2)=0,"追加候補",IF(COUNTIFS(旧版!$A$2:$A$100,A2,旧版!$B$2:$B$100,B2,旧版!$C$2:$C$100,C2)>0,"変更なし","変更あり"))
この例は**部署(B列)と利用者数(C列)**がどちらも一致するかを見ています。IDが旧版になければ「追加候補」、同じIDの部署・人数が一致すれば「変更なし」、それ以外は「変更あり」です。実務では対象列が多ければ、比較条件も増やす必要があります。
旧版にだけ残る「削除候補」は新版側だけの式では見つかりません。旧版のD2へ別途、次の式を入れて確認します。
=IF(COUNTIF(新版!$A$2:$A$100,A2)=0,"削除候補","存在")
削除候補=削除してよい行、ではありません。 単に今回の配布対象から外れただけの可能性もあるため、担当者へ確認してください。
数式で比較する前の3つの注意
- IDに重複があると、1対1の照合が成立しません。先に重複を確認します。
00123と123、日付と文字列など、型が異なると判定が変わることがあります。原本は別途保管し、IDの型をそろえます。- 上記の例はセルの値を比較しています。数式の内容、書式、図、名前付き範囲などの完全な比較ではありません。
3. セル単位の詳細比較が必要なら「スプレッドシート比較」
利用しているExcelが対応するエディションなら、Microsoftの「Spreadsheet Compare(スプレッドシート比較)」で、2つのブックの値・数式・書式などの差分を一覧で確認できます。
- 対応環境で2つのExcelブックを開きます。
- [問い合わせ(Inquire)]タブで[ファイルの比較(Compare Files)]を選びます。
- 旧版と新版を選び、差分の種類別表示を確認します。
注意:この機能はすべてのExcelで使えるわけではありません。 Microsoft 365 Apps for enterpriseなど対応するWindows版が対象です。メニューが見つからない場合、契約プランとアドインの利用可否を確認してください。
4. 配布後に元のマスターも変わったら「2ファイル比較」だけでは不十分
ここまでの方法では「配布したExcel」と「戻ってきたExcel」の差を探せます。ただし、その間に管理者が元マスターも更新している場合、戻った値をそのまま上書きすると、別の担当者による更新が失われることがあります。
図2:同じセルに別々の変更が入った例。どちらを採用するかは人が確認します。
例えば、配布時の人数が「10」、回収回答が「12」、現在のマスターが「11」だったとします。回収者も管理者も変更しているため、どちらが正しいかを自動で決めない方が安全です。
Small Work Labの表データ配布回収ツールは、特定の配布・回収業務向けに、配布時・現在のマスター・回収Excelの3-way照合を行うWindowsツールです。対象行・列を指定した配布用Excelの作成と、既存行の値の変更・競合の確認を支援します。元マスターを直接上書きせず、更新済みマスターとレポートを別出力します。
これは任意の2つのExcelファイルを丸ごと比較する汎用差分ツールではありません。行の追加・削除の同期、数式自体の更新、複数シートの同期などは対象外です。必要な業務と対応範囲が合う場合だけ、商品ページで確認してください。
5. 実務で残したい差分確認表
比較作業の結果は、少なくとも次の項目を残すと判断を引き継ぎやすくなります。
| 機器ID | 比較項目 | 旧値 | 新値 | 判定 | 確認担当 |
|---|---|---|---|---|---|
| 102 | 利用者数 | 12 | 14 | 変更あり | 総務担当 |
| 103 | 行の有無 | あり | なし | 削除候補 | 管理責任者 |
| 104 | 行の有無 | なし | あり | 追加候補 | 管理責任者 |
原本と照合結果を別ファイルで保存し、確認者が採否を判断します。差が見つかったことと、採用してよいことは別です。
よくある質問
Q. 2つのExcelファイルで行の順番が違うときは?
行番号ではなく、社員番号・機器IDなどの一意キーで比較します。キーがない表では、まず「何を同じ1行とみなすか」を決める必要があります。
Q. VLOOKUPだけで追加・削除・変更を全部見つけられますか?
一方向の検索だけでは、反対側にしかない行を拾えません。旧版→新版、新版→旧版の両方向で存在を確認します。
Q. フォルダー内のすべてのExcelを自動比較できますか?
この記事の標準Excel手順は、比較対象を決めて確認する方法です。無制限にフォルダー内の全ファイルを比較・同期する機能ではありません。
まとめ
Excelの差分比較は、同じレイアウトなら並べて表示、行が動くならIDで照合、対応環境ならスプレッドシート比較と使い分けます。配布後に元マスターも変更される業務では、2ファイルの差だけでなく、配布時を含む3つの状態を確認しましょう。
