excel

【Excel】エクセルでデータを比較する方法は?一致確認や突き合わせの手順を解説

エクセルで同じ行のデータを比較する方法【比較演算子】 - イコール記号で一致を判定する数式
当サイトでは記事内に広告を含みます

Excelで二つの表を比較するときは、数式で一致を判定する方法、条件付き書式で違いを目立たせる方法、並べ替えやフィルターで確認する方法を使い分けると、データの突き合わせを正確かつ効率よく進められます。

顧客名簿、売上データ、在庫一覧、請求リストなどでは、同じ値かどうかだけでなく、片方にしかないデータ、入力ミス、重複、順番の違いまで確認する場面があります。

この記事では、1行目にヘッダーがある表を例に、Excelでデータを比較して一致確認を行う代表的な手順を、数式と画面操作の両面から解説します。

比較作業で押さえたいポイントです。

・同じ行同士を比べるなら比較演算子を使います。

・順番が異なる表はXLOOKUP関数やCOUNTIF関数で照合します。

・差異は条件付き書式で色付けすると見落としを防げます。

データ量や照合したい内容に合う方法を選び、確認しやすい表へ整えていきましょう。

 

エクセルで同じ行のデータを比較する方法【比較演算子】

それではまず、同じ位置に並んだ二つのデータを比較する基本的な方法について解説していきます。

商品コード 4月売上 5月売上
A001 12500 12500
A002 9800 10200
A003 15000 15000

同じ商品コードが同じ行にあり、B列とC列の金額だけを照合したい場合は、もっともシンプルな比較演算子が役立ちます。

表の順序が完全にそろっている場合は、セル同士を直接比較する方法が速く、数式も読みやすいという利点があります。

 

イコール記号で一致を判定する数式

エクセルで同じ行のデータを比較する方法【比較演算子】 - イコール記号で一致を判定する数式

B列の値とC列の値が一致するかをD列で確認する場合は、D2セルに次の数式を入力します。

=B2=C2

この数式は、B2セルとC2セルの内容が同じならTRUEを返し、異なればFALSEを返します。

数値、文字列、日付のいずれも比較できますが、見た目が同じでも文字列と数値の型が異なるとFALSEになる場合があります。

たとえば、片方が数値の100で、もう片方が文字列として入力された100なら、表示上は同じでも意図した比較結果にならないことがあります。

数式を入力した後は、D2セル右下のフィルハンドルを下方向へドラッグするか、ダブルクリックして最終行までコピーしましょう。

これにより、各行の売上金額を一度に照合できます。

 

IF関数で判定結果をわかりやすく表示する方法

TRUEやFALSEではなく、確認しやすい日本語を表示したいときはIF関数を使います。

=IF(B2=C2,”一致”,”要確認”)

この式では、B2とC2が同じなら一致、異なるなら要確認と表示されます。

比較結果を第三者へ渡す表では、TRUEやFALSEよりも一致や要確認と表示するほうが判断しやすいでしょう。

空白セル同士は同じ値として扱われるため、未入力を除外したい場合は条件を追加します。

=IF(OR(B2=””,C2=””),”未入力”,IF(B2=C2,”一致”,”要確認”))

この式なら、いずれかのセルが空白の行には未入力と表示され、入力漏れと数値差異を分けて確認できます。

月次集計や提出前チェックでは、一致判定と未入力判定を混同しないことが、後戻りを減らすポイントです。

 

完全一致で確認するときの注意点

セル比較では、余分なスペース、全角と半角、改行、表示形式の違いによって確認が難しくなることがあります。

文字列の前後に不要な空白が混じるデータでは、TRIM関数で空白を整えてから比較すると安定します。

=TRIM(B2)=TRIM(C2)

英字の大文字と小文字まで区別して照合したい場合は、EXACT関数を利用します。

=EXACT(B2,C2)

通常のイコール記号ではABCとabcを同じ文字列として扱いますが、EXACT関数では異なる値として判定します。

商品コード、パスワードに近い管理コード、型番など、大文字小文字が意味を持つ項目では有効です。

【操作のポイント】比較対象の表が同じ順番で並んでいるかを最初に確認し、順番が違う場合は次の照合方法へ進みます。

 

エクセルで別表のデータを突き合わせる方法【XLOOKUP関数】

続いては、行の順番が異なる二つの表をキー項目で突き合わせる方法を確認していきます。

商品コード 基準単価 確認用単価
A001 500 500
A002 800 780
A003 1200 1200

一方の表が商品コード順、もう一方の表が入力順のように、行の位置がそろわない場合には、同じ行を直接比較してはいけません。

比較の基準になる商品コード、社員番号、伝票番号などをキーとして検索し、対応する値を取り出してから比較する必要があります。

 

XLOOKUP関数で対応する値を取り出す手順

たとえば、Sheet1に確認したい一覧があり、Sheet2に正しい基準データがあるとします。

Sheet1のA列に商品コード、B列に確認用単価があり、Sheet2のA列に商品コード、B列に基準単価がある構成です。

Sheet1のC2セルに、Sheet2から基準単価を取得する次の数式を入力します。

=XLOOKUP(A2,Sheet2!A:A,Sheet2!B:B,”該当なし”)

最初のA2は検索したい商品コードです。

Sheet2!A:Aは商品コードを探す範囲であり、Sheet2!B:Bは見つかった商品コードに対応して返す単価の範囲です。

最後の該当なしは、コードが見つからなかったときに表示する文字です。

検索範囲と戻り範囲は、同じ行数で対応した列を指定することが重要です。

エクセルで別表のデータを突き合わせる方法【XLOOKUP関数】 - XLOOKUP関数で対応する値を取り出す手順

 

取得した値と入力値を比較する数式

C列に基準単価を取得できたら、D2セルでB列の確認用単価とC列の基準単価を照合します。

=IF(B2=C2,”一致”,”差異あり”)

基準表に存在しない商品コードはC列に該当なしと表示されるため、単価差異とコード不足を別々に管理したい場合は数式を少し拡張します。

=IF(C2=”該当なし”,”基準表にない”,IF(B2=C2,”一致”,”差異あり”))

このように結果を分けておくと、単なる金額違いなのか、そもそも照合先に存在しないデータなのかをすぐに把握できます。

大量のデータを扱うときほど、差異の理由を判定列で明示する設計が作業の効率を左右します。

 

VLOOKUP関数を使う場合の考え方

古いExcel環境などでXLOOKUP関数が使えない場合は、VLOOKUP関数でも同様の照合ができます。

=IFERROR(VLOOKUP(A2,Sheet2!A:B,2,FALSE),”該当なし”)

VLOOKUP関数の最後のFALSEは完全一致を指定する設定です。

コード照合では近似一致ではなく完全一致を使うため、この指定を省略しないようにしましょう。

ただしVLOOKUP関数は、検索列より左側の値を返せない制約があります。

新しいExcelを利用できるなら、左右どちらの列も扱いやすいXLOOKUP関数を選ぶと柔軟です。

【操作のポイント】キー項目に重複があると最初に見つかった値だけが返るため、商品コードや管理番号の重複も別途確認します。

 

エクセルで片方にしかないデータを確認する方法【COUNTIF関数】

続いては、二つのリストを照合して片方にしか存在しないデータを見つける方法を確認していきます。

注文一覧の商品コード マスターにあるか 判定
A001 あり 登録済み
A004 なし 要登録
A005 あり 登録済み

顧客リストや商品マスターのように、一方の一覧に存在するかどうかを調べるだけなら、COUNTIF関数が扱いやすい方法です。

COUNTIF関数は指定範囲に同じ値が何件あるかを数えるため、存在確認と重複確認の両方に活用できます

 

COUNTIF関数で存在の有無を判定する数式

Sheet1のA列に注文商品コード、Sheet2のA列に商品マスターの商品コードがあるとします。

Sheet1のB2セルに次の数式を入力すると、注文コードが商品マスターに存在するかを確認できます。

=IF(COUNTIF(Sheet2!A:A,A2)>0,”あり”,”なし”)

COUNTIF関数の結果が1以上なら、マスター内に同じコードがあります。

結果が0なら該当するコードがないため、入力間違い、未登録、廃番コードなどを確認する対象になります。

検索範囲であるSheet2!A:Aは固定したい範囲なので、セル範囲を指定する場合は絶対参照を使うとコピー時のずれを防げます。

=IF(COUNTIF(Sheet2!$A$2:$A$1000,A2)>0,”あり”,”なし”)

このようにドル記号を付けた範囲は、数式を下へコピーしても変化しません。

エクセルで片方にしかないデータを確認する方法【COUNTIF関数】 - COUNTIF関数で存在の有無を判定する数式

 

重複データを見つける数式

同じ一覧の中で重複したコードを確認する場合も、COUNTIF関数を使えます。

A2セルの商品コードがA列内に何回登場するかを調べる数式は次のとおりです。

=COUNTIF($A$2:$A$1000,A2)

結果が1なら一件だけであり、2以上なら重複しています。

文字で判定結果を出すなら、次の式が便利です。

=IF(COUNTIF($A$2:$A$1000,A2)>1,”重複あり”,”一意”)

重複は必ずしも誤りではなく、同じ顧客の複数注文のように正しい場合もあるため、確認列を作ってから業務ルールで判断します。

 

両方のリストから漏れを確認する流れ

片方向だけを確認すると、注文一覧にはあるがマスターにないデータは発見できます。

一方で、マスターにはあるが注文一覧にはないデータを探したい場合は、同じ式を逆方向のシートにも作成します。

つまり、Sheet1からSheet2を検索する列と、Sheet2からSheet1を検索する列の二つを用意します。

この往復確認によって、片側だけのリストにある値を両方向から洗い出すことが可能です。

データ移行、会員情報の統合、年度更新のように漏れが問題になる作業では、片方向だけで完了と判断しないことが大切です。

【操作のポイント】空白セルまで判定対象にすると不要な一致が増えるため、データ範囲をテーブル化するか、実データの最終行までに絞って比較します。

 

エクセルで差異を色付けして比較する方法【条件付き書式】

続いては、比較結果を色で見える化して、相違点をすばやく確認する方法を解説していきます。

商品コード システムA在庫 システムB在庫
A001 20 20
A002 15 12
A003 8 8

数式の結果を判定列で確認する方法は正確ですが、行数が多い表では差異がどこにあるかを探す時間がかかります。

条件付き書式を設定すると、異なるセルを自動で色付けできるため、目視確認が必要な行を一瞬で見つけられます

 

条件付き書式で異なるセルを赤くする手順

比較したい範囲として、B2からC100を選択します。

ホームタブを開き、条件付き書式、ルールの管理、新しいルールの順に選択します。

ルールの種類では、数式を使用して、書式設定するセルを決定を選びます。

数式の入力欄には次の式を入力します。

=$B2<>$C2

不等号の組み合わせは、二つのセルが等しくないことを表します。

列記号の前に付けたドル記号は、B列とC列を固定する指定です。

行番号にはドル記号を付けないため、各行でB列とC列を比較できます。

書式ボタンから塗りつぶしを選び、淡い赤色など見やすい色を設定して完了します。

在庫比較.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示 ヘルプ
貼り付け  太字 罫線 塗りつぶし 中央揃え  条件付き書式
fx  =$B2<>$C2
A B C
1 商品コード システムA在庫 システムB在庫
2 A001 20 20
3 A002 15 12
➤ B列とC列が異なる行だけが赤く表示されます。

 

一致したデータだけを強調する設定

差異ではなく、一致した値だけを色付けしたい場合は比較式をイコールに変更します。

=$B2=$C2

棚卸しの確認や修正済みデータの確認では、一致行を緑色にすると進捗を把握しやすくなります。

ただし、空白同士も一致として色付けされる点には注意が必要です。

空白を除外して一致だけを表示するなら、次のようにAND関数を組み合わせます。

=AND($B2=$C2,$B2<>””)

この設定では、B列とC列が一致し、かつB列が空白ではない行だけが対象になります。

空白を含むデータ比較では、色付けルールにも空白除外の条件を加えると、画面が見やすくなります。

 

条件付き書式の適用範囲を確認する方法

条件付き書式が想定どおりに動かない場合は、ルールの数式と適用先を確認します。

ホームタブの条件付き書式からルールの管理を開くと、数式と適用範囲を編集できます。

データの最終行が増える予定なら、通常のセル範囲ではなくテーブルとして管理する方法も便利です。

テーブルでは行を追加したときに書式や数式が引き継がれやすく、毎月の照合作業に向いています。

色だけで最終判断せず、判定列や元データも確認することが、誤った修正を防ぐための基本です。

【操作のポイント】赤と緑だけに頼らず、要確認や一致などの文字列を表示する列も残しておくと、印刷時や色覚の違いにも対応できます。

 

エクセルで複数列のデータを比較する方法【連結キー】

続いては、商品コードだけでは重複する場合など、複数の項目を組み合わせてデータを比較する方法を確認していきます。

商品コード 倉庫 在庫数 照合キー
A001 東京 20 A001東京
A001 大阪 12 A001大阪
A002 東京 15 A002東京

商品コードだけで検索すると、複数倉庫に同じ商品があるときに、どの在庫数を比較すべきか判断できません。

このような場合は、商品コードと倉庫名のように複数の条件をつないだ照合キーを作成します。

 

アンパサンドで複数項目を連結する数式

A列の商品コードとB列の倉庫名を結合して、C列に照合キーを作る場合は次の数式を使用します。

=A2&B2

区切り文字を入れて見やすくするなら、次のようにハイフンなどを加えることもできます。

=A2&”-“&B2

二つの表で同じルールの照合キーを作れば、そのキーをXLOOKUP関数やCOUNTIF関数の検索値として利用できます。

連結する順序、区切り文字、全角半角の扱いを二つの表で完全に統一することが重要です。

 

複数条件でXLOOKUP関数を使う考え方

Sheet1とSheet2の両方に照合キー列を作成した場合、通常のXLOOKUP関数と同じ形で基準値を取得できます。

=XLOOKUP(D2,Sheet2!D:D,Sheet2!C:C,”該当なし”)

D2はSheet1に作成した照合キーです。

Sheet2のD列から同じ照合キーを探し、Sheet2のC列にある在庫数を返します。

その後、取得した在庫数とSheet1の在庫数をIF関数で比べれば、倉庫別、商品別の差異を確認できます。

キー列を補助列として残しておくと、フィルター、ピボットテーブル、重複削除などでも活用できます。

 

文字列のゆれを整えてから比較する方法

複数列比較で結果が合わないときは、データ自体の表記ゆれを疑いましょう。

倉庫名に余分な空白がある、株式会社の表記が異なる、全角と半角が混在していると、見た目が近くても別のキーになります。

前後の空白を除去するにはTRIM関数が役立ちます。

=TRIM(A2)&”-“&TRIM(B2)

不要な文字を置き換えるにはSUBSTITUTE関数も使えます。

比較前に文字列を整形する処理を入れると、表記ゆれによる偽の差異を減らせます

【操作のポイント】複数条件の照合では、元データを直接書き換えず、補助列に整形後のキーを作成して確認する方法が安全です。

 

まとめ エクセルでデータを比較する方法

Excelでデータを比較する方法は、表の並び方と確認したい内容によって選ぶことが重要です。

同じ行に対応する値がある表では、イコール記号やIF関数で直接比較すると、短い数式で一致確認ができます。

表の順番が異なる場合は、商品コードや社員番号などのキーを使い、XLOOKUP関数で基準データを取り出してから比較する方法が適しています。

片方にしかない値を探すときはCOUNTIF関数を使い、存在の有無と重複の有無を確認しましょう。

条件付き書式を組み合わせれば、差異のあるセルや行を自動で色付けでき、件数が多い表でも見落としを減らせます。

複数列で照合する必要がある場合は、項目を連結したキー列を作成すると、複雑なデータでも比較しやすくなります。

比較結果だけを確認するのではなく、空白、表記ゆれ、数値と文字列の違い、重複データも意識すると、より信頼できる突き合わせになります。

日々の照合作業では、数式の判定列と条件付き書式を併用し、差異が発生した理由まで追跡できる表を作っていきましょう。