エクセルで2つの表を比較する方法|関数と色付けで違いを見つける

公開:2026年11月4日 作成:nari

先月と今月の一覧、請求書と支払予定、システムから出した表と手元の表。2つの表を見比べて「どこが違うか」を探す作業は、目で追うと時間がかかるうえに見落としも出ます。

この記事では、エクセルだけで2つの表を比較する方法を、かんたんなものから順に紹介します。表の形によって向いている方法が違うので、まずは下の早見表で選んでください。

どの方法を使えばいい?(早見表)

表の状態向いている方法
行の順番も列の並びも同じ「=」で比べる・IF関数・条件付き書式で色付け
行の順番がバラバラ/行が増えたり減ったりしているVLOOKUP・COUNTIF(コードや番号など、行を見分ける列が必要)
列の順番も違う・何列もまとめて比べたい比較ツールを使うのが早い

この記事では、同じファイルの中に Sheet1(比べる元の表A)と Sheet2(比べる相手の表B)がある前提で説明します。別のファイルに分かれているときは、片方のシートをもう片方のファイルにコピーしてから始めると、数式が簡単になります。

同じ位置のセルを「=」で比べる

2つの表の形がまったく同じなら、いちばん手軽なのが「=」で比べる方法です。空いているシート(例:Sheet3)のA1セルに次の数式を入れます。

=Sheet1!A1=Sheet2!A1

同じなら TRUE、違えば FALSE と表示されます。この数式を表と同じ範囲までコピーすれば、どのセルが違うかが一覧で分かります。

シート名は自分の表に合わせて

シート名が「請求一覧」なら =請求一覧!A1=支払予定!A1 のようになります。数式を打っている途中で相手のシートのセルをクリックすると、シート名は自動で入ります。

IF関数で「違う」と表示する

TRUE・FALSE だらけだと見づらいときは、IF関数で違うところだけに文字を出します。

=IF(Sheet1!A1=Sheet2!A1,"","違う")

同じセルは空白のまま、違うセルにだけ「違う」と出るので、目で探しやすくなります。フィルターで「違う」だけに絞り込むこともできます。

条件付き書式で違うセルに色を付ける

元の表の上で、違うセルに直接色を付ける方法です。別のシートを用意しなくてよいので、見た目でいちばん分かりやすい方法です。

  1. Sheet1 で、比べたい範囲を選びます(例:A2セルから C100セルまで)。左上のセル(A2)から選び始めるのがポイントです。
  2. 「ホーム」タブ →「条件付き書式」→「新しいルール」を選びます。
  3. 「数式を使用して、書式設定するセルを決定」を選び、次の数式を入れます。
    =A2<>Sheet2!A2
  4. 「書式」→「塗りつぶし」で好きな色を選び、「OK」を押します。

これで、Sheet2 と中身が違うセルにだけ色が付きます。

うまく色が付かないとき

順番がバラバラな表を比べる(VLOOKUP・COUNTIF)

ここまでの方法は「同じ位置にあるセルどうし」を比べるので、行の順番が違ったり、途中に1行増えていたりすると、それ以降がすべて「違う」になってしまいます。

そんなときは、取引先コードや伝票番号のように行を見分けられる列を手がかりにして比べます。例として、次の2つの表を比べてみます。

Sheet1(表A:請求一覧)
A列:コードB列:取引先C列:金額
101山田商事12,000
102佐藤物産8,500
103鈴木工業3,200
Sheet2(表B:支払予定)
A列:コードB列:取引先C列:金額
103鈴木工業3,200
101山田商事12,000
104田中商店5,000
102佐藤物産8,000

金額が違う行・Bにない行を探す(VLOOKUP)

Sheet1 の D2セルに次の数式を入れ、下の行までコピーします。

=IFERROR(IF(VLOOKUP(A2,Sheet2!A:C,3,FALSE)=C2,"一致","金額が違う"),"Bにない")

コードを手がかりに Sheet2 から同じ取引先の金額を探し、同じなら「一致」、違えば「金額が違う」、Sheet2 に見つからなければ「Bにない」と出ます。上の例では、佐藤物産(102)が「金額が違う」になります。

コード取引先金額D列の結果
101山田商事12,000一致
102佐藤物産8,500金額が違う
103鈴木工業3,200一致

Microsoft 365 や Excel 2021 以降なら、XLOOKUP で相手の金額を横に並べて見比べることもできます。

=XLOOKUP(A2,Sheet2!A:A,Sheet2!C:C,"Bにない")

Bにだけある行を探す(COUNTIF)

VLOOKUP は表Aから見た比較なので、表Bにだけある行(上の例では田中商店)は見つかりません。反対向きも確かめるため、Sheet2 の D2セルに次の数式を入れ、下の行までコピーします。

=IF(COUNTIF(Sheet1!A:A,A2)=0,"Aにない","")

Sheet1 に同じコードが1つもない行にだけ「Aにない」と出ます。

比べる列が増えると数式も増える

金額のほかに、日付や数量も比べたいときは、列ごとに同じような数式を作る必要があります。行を見分ける列が1つに決まらない(「取引先+日付」で初めて見分けられる、など)場合は、つなげた列を作ってから比べます。

「同じに見えるのに違う」と出るとき

数式は正しいのに、見た目が同じセルが「違う」になることがあります。よくある原因は次のとおりです。

なお、「=」での比較は英字の大文字・小文字を区別しません。区別したいときは =EXACT(Sheet1!A1,Sheet2!A1) を使います。

数式を組まずに済ませたいとき

行の順番がバラバラで、比べたい列もたくさんある。毎月同じ作業をしている。そんなときは、数式を組むより比較ツールを使ったほうが早く、見落としも減らせます。

当サイトの表くらべは、2つのファイルを入れるだけで違うところを一覧にする無料のツールです。

この記事の例も、ファイルを2つ入れるだけで同じ結果が出ます。登録はいりません。

表くらべで比べてみる →

まとめ

「毎月の照合をボタンひとつにしたい」「自社の表に合わせた仕組みがほしい」という場合は、お仕事の依頼からご相談ください。

← やり方の記事一覧 / 表くらべを使う

作った人・お仕事の依頼

作者 nari のアイコン
nari経理の現場で照合システムを作ってきた個人開発者

経理部門で、請求書と伝票の照合や受注データのチェックを自動化する社内システムを作ってきました。現場で「これがあれば楽なのに」と感じたものを、誰でも無料で使えるツールにしています。

使い方の質問・不具合・「こうしてほしい」など、気軽にお送りください。

お仕事の依頼

次のようなお仕事をお受けしています。サンプルのファイルを見ながら、できる範囲をはっきりさせてからお見積もりします。

  • Excel・スプレッドシートの照合や集計の自動化
  • 業務で使う小さなツールの作成