Guide ・ 2026年7月11日 公開

WinMergeでExcelファイルを比較する方法と限界

WinMerge は、テキストファイルやフォルダの比較で広く使われている無料のオープンソースツールです。実は Excel ファイルも比較「は」できます——ただし、その仕組みを知らずに使うと「思っていたのと違う」となりがちです。この記事では、WinMerge での Excel 比較の仕組み・手順・向き不向きを整理します。

仕組み:セルの中身を「テキスト」に変換して比較する

WinMerge は Excel ブックをそのまま解釈するのではなく、同梱プラグイン CompareMSExcelFiles がセルのテキスト内容を抽出し、それをテキストファイルとして比較します。公式マニュアルには次の2点が明記されています。

  • 抽出されるのはテキスト内容のみで、書式や埋め込みオブジェクトはすべて取り除かれる
  • プラグインの動作には Microsoft Excel のインストールが必要

対応形式は .xls / .xlsx / .xlsm / .xlsb など幅広く、.xlsb を扱えるのは無料ツールとしては貴重な点です。

手順

  1. WinMerge 公式サイトからインストール(無料)
  2. WinMerge を起動し、比較したい2つの Excel ファイルを選択(ウィンドウへのドラッグ&ドロップでも可)して比較を実行
  3. シートの内容がテキスト化され、行単位の差分表示(左右並び・変更行のハイライト)で確認できます

Excel ファイルがテキスト化されずそのまま開かれてしまう場合は、「プラグイン」メニューで自動アンパック(プラグインの自動適用)が有効になっているかを確認してください。

得意なこと

  • 無料で、Excel 以外のテキスト・フォルダ比較にもそのまま使える万能さ
  • テキストの行差分として比較するため、行の追加・削除があってもずれに追従できます(テキスト diff アルゴリズムの得意分野)
  • 開発者にはおなじみの操作感。普段からコードやテキストの比較に WinMerge を使っている人が、Excel の中身も「ついでに」確認する用途には十分実用的です

限界

  • 見た目が Excel ではなくなる。差分はテキスト行として表示されるため、「どのセルか」という位置の感覚が失われます。列が多い表では1行が長大になり、目で追うのが大変です
  • 書式・図形などは比較されない。テキスト抽出の時点で取り除かれるため、値以外の違いは原理的に検出できません
  • 列の挿入・削除に弱い。行内の文字列がまとめてずれるため、実際には1列違うだけでも行全体が差分として表示されがちです
  • 結果を配れない。差分は WinMerge の画面上で確認するもので、「差分に色を付けた Excel ブック」を成果物として出力する機能はありません
  • 比較のたびに Excel のインストールされた環境が必要です

使い分け:Excel の見た目のまま差分を見たいなら

「セル単位で、Excel の画面のまま差分を確認したい」「差分に色を付けたブックを報告資料としてそのまま渡したい」という用途には、Excel 専用の比較ツールが向いています。

筆者が開発している無償ツール「方眼Diff」は、差分セルを着色したブック(変更=黄・片方にしかない行や列=赤・移動=水色)とレポートを出力します。行や列の挿入・削除に加えて列の移動や挿入にもセル単位で追従し、フォルダ同士の一括比較もできます。WinMerge と同じく無料・インストール不要です(ただし .xlsb と書式の比較は非対応です。書式差の検出は Microsoft Spreadsheet Compare を検討してください)。

なお、TortoiseGit などのバージョン管理ツールの diff ビューアに Excel 比較を割り当てたい場合は、方眼Diff の CLI を外部 diff ツールとして設定する方法もあります。

関連記事