【Excel】エクセルで一致確認する方法|データが一致しているか関数で調べる
Excelで2つのデータが同じか確認したい場面は、名簿の照合、請求書の確認、売上データの突合など数多くあります。
目で見比べる方法では、件数が増えるほど見落としや入力ミスを見つけにくくなります。
そこで役立つのが、IF関数、EXACT関数、COUNTIF関数、XLOOKUP関数などを使った一致確認です。
セル単位の比較から、別表にあるデータの存在確認、複数列を含む行全体の照合まで、目的に応じて式を使い分けましょう。
一致確認でよく使う関数のポイントです。
・同じセル位置を比較するなら IF関数または完全一致の比較式
・大文字と小文字も区別するなら EXACT関数
・別の一覧に値があるか確認するなら COUNTIF関数
・対応する値を検索して比較するなら XLOOKUP関数
数式はサンプルデータの1行目を見出し行として、2行目から入力する前提で解説します。
ここでは、実務で使いやすい一致確認の方法と、不一致が出たときの確認ポイントを順番に見ていきましょう。
エクセルで一致確認する方法1【同じ位置のセルをIF関数で比較】
それではまず、同じ行・同じ列に並んだ2つのデータをIF関数で比較する方法について解説していきます。
| A列 | B列 | C列 |
|---|---|---|
| 商品コード | 元データ | 確認用データ |
| A001 | 1250 | 1250 |
| A002 | 980 | 1000 |
| A003 | 560 | 560 |
IF関数による一致と不一致の表示
IF関数を使うと、比較結果を「一致」「不一致」などの分かりやすい文字で表示できます。
D列を判定列として使う場合は、D2セルに次の数式を入力します。
=IF(B2=C2,”一致”,”不一致”)
この式では、B2セルとC2セルが等しければ「一致」、異なれば「不一致」と表示されます。
比較するセル番地を同じ行に合わせることが、照合式を正しく作る基本です。

D2セルを選択した後、セル右下の小さな四角であるフィルハンドルを下方向へドラッグすれば、3行目以降にも数式をコピーできます。
データ件数が多い場合は、数式を入力したセルをダブルクリックすると、隣接するデータの最終行までオートフィルできることがあります。
比較結果を記号で短く表示する設定
一覧をコンパクトにしたいときは、「OK」と「要確認」のような短い判定文字を使う方法が便利です。
たとえばD2セルには、次のような数式を入力できます。
=IF(B2=C2,”OK”,”要確認”)
「要確認」と表示された行だけをフィルターで抽出すれば、修正が必要な箇所に集中できます。
数値の比較では、表示形式が同じに見えても実際の値が異なることがあります。

たとえば1250と1250.0は通常は同じ数値として扱われますが、片方が文字列として入力されていると予期しない判定になる場合があります。
一致しない原因を調べるときは、表示文字だけでなくセルに保存されている値の種類も確認しましょう。
数式を下までコピーするオートフィル操作
比較式を複数行へ広げるときは、相対参照の仕組みを理解しておくと安心です。
D2セルに入力した =IF(B2=C2,”一致”,”不一致”) をD3セルへコピーすると、式は自動的に =IF(B3=C3,”一致”,”不一致”) へ変わります。
これはB2やC2のような相対参照が、コピー先に応じて移動するためです。
元データと確認用データを同じ順番で並べた照合では、この性質を利用すると短時間で判定表を作成できます。
【操作のポイント】数式を入力した最初のセルの結果を確認してからオートフィルすると、列ずれや参照ミスを早期に防げます。
エクセルで一致確認する方法2【完全一致とEXACT関数による文字比較】
続いては、文字列の細かな違いまで確認できる完全一致の判定を確認していきます。
| A列 | B列 | C列 |
|---|---|---|
| 社員番号 | 登録名 | 照合名 |
| 101 | Excel太郎 | excel太郎 |
| 102 | 山田花子 | 山田花子 |
EXACT関数による大文字と小文字の判定
EXACT関数は、2つの文字列が完全に同じかどうかをTRUEまたはFALSEで返す関数です。
D2セルに次の数式を入力すると、B2セルとC2セルの文字列を厳密に比較できます。
=EXACT(B2,C2)
結果がTRUEなら完全一致、FALSEなら不一致です。
EXACT関数は英字の大文字と小文字を区別するため、IDやメールアドレスの表記を厳密に照合したい場面に向いています。
先ほどの例では「Excel太郎」と「excel太郎」は、見た目が似ていても英字の大文字と小文字が異なるためFALSEになります。
日本語だけで構成された文字列では差が分かりにくいこともあるため、英数字を含むデータで特に有効です。
EXACT関数とIF関数を組み合わせる表示
TRUEやFALSEではなく、判定内容を日本語で表示したい場合はIF関数と組み合わせます。
D2セルでは次の数式が使えます。
=IF(EXACT(B2,C2),”完全一致”,”表記違い”)
この式なら、データの利用者が関数の意味を知らなくても結果を判断しやすくなります。
「表記違い」が出た行は、全角半角、不要なスペース、改行、大文字小文字などを確認しましょう。

見た目には同じように見える不一致には、先頭や末尾にある半角スペースが隠れているケースもあります。
不要な空白が疑われるときは、LEN関数で文字数を比べる、またはTRIM関数で余分な半角スペースを取り除く方法が役立ちます。
比較演算子とEXACT関数の使い分け
=B2=C2 のような比較演算子でも、2つのセルが同じかどうかを判定できます。
ただし、この比較では英字の大文字と小文字は区別されません。
氏名、部署名、商品名のように通常の文字列として一致を確認するなら比較演算子で十分なことが多いでしょう。
一方で、パスワード、管理番号の英字部分、システム連携用のコードなどでは、EXACT関数による完全一致確認が適しています。
【操作のポイント】一般的な照合は =B2=C2、表記の厳密さが必要な照合は EXACT関数というように目的で選びましょう。
エクセルで一致確認する方法3【COUNTIF関数による別表との照合】
続いては、別の表や別シートに同じデータが存在するかをCOUNTIF関数で調べる方法を確認していきます。
| A列 | B列 | F列 |
|---|---|---|
| 確認コード | 判定 | マスターコード |
| A001 | 確認対象 | A001 |
| A004 | 確認対象 | A002 |
| A005 | 確認対象 | A003 |
COUNTIF関数で存在の有無を判定する数式
COUNTIF関数は、指定した範囲の中に条件と一致するセルが何件あるかを数える関数です。
B2セルに次の数式を入力すると、A2のコードがF列のマスター一覧にあるか判定できます。
=IF(COUNTIF($F$2:$F$100,A2)>0,”一致”,”該当なし”)
COUNTIF($F$2:$F$100,A2) の部分は、F2からF100の範囲でA2と同じ値を数えています。
結果が1以上なら存在するため「一致」、0なら見つからないため「該当なし」となります。
検索範囲のF2からF100にはドル記号を付けて絶対参照にすることが重要です。
別シートの一覧を参照する設定
確認対象とマスターが別シートにある場合も、COUNTIF関数の範囲指定を変えるだけで対応できます。
たとえば「マスター」シートのF列を参照するなら、次の数式を使用します。
=IF(COUNTIF(マスター!$F$2:$F$100,A2)>0,”登録済み”,”未登録”)
シート名の後に感嘆符を付け、その後に検索範囲を指定します。
シート名に空白がある場合は、シート名をシングルクォーテーションで囲む必要があります。
複数の月次データと基幹マスターを照合するような作業では、この方法を使うと別ファイルへの転記ミスも見つけやすくなります。
重複データの発見と件数確認
COUNTIF関数は、存在確認だけでなく重複データの検出にも活用できます。
A2セルの値がA列全体に何回あるかを数えるには、次の式を使います。
=COUNTIF($A$2:$A$100,A2)
結果が2以上なら、同じコードが複数回登録されていると判断できます。
照合前に重複を取り除くか確認しておくと、件数が一致していても内容が誤っている問題を防ぎやすくなります。
【操作のポイント】存在確認では検索範囲を絶対参照にし、数式をコピーしても検索対象が動かないように設定しましょう。
エクセルで一致確認する方法4【XLOOKUP関数による対応データの照合】
続いては、コードを手掛かりにして別表から値を取得し、対応する内容が正しいかを確認する方法を解説していきます。
| A列 | B列 | F列 | G列 |
|---|---|---|---|
| 商品コード | 入力単価 | 商品コード | 正規単価 |
| A001 | 1250 | A001 | 1250 |
| A002 | 1000 | A002 | 980 |
XLOOKUP関数で正規値を取り出す式
XLOOKUP関数は、検索値に対応するデータを別の範囲から取り出せる関数です。
C2セルに正規単価を表示するなら、次の式を入力します。
=XLOOKUP(A2,$F$2:$F$100,$G$2:$G$100,”未登録”)
この数式はA2の商品コードをF列から検索し、同じ行にあるG列の単価を返します。
見つからない場合には「未登録」と表示されるため、エラー表示を避けながら未登録コードを確認できます。
XLOOKUP関数は検索列と返す列を別々に指定できるため、VLOOKUP関数よりも柔軟に使える点が特徴です。
入力値と検索結果を比較する判定式
C列に取得した正規単価が表示されたら、D列で入力単価との一致を判定します。
D2セルには次の数式を入力します。
=IF(B2=C2,”一致”,”単価確認”)
入力単価が正規単価と同じなら「一致」、異なるなら「単価確認」と表示されます。
商品コードと単価を別々に確認するよりも、検索と比較を連続して行うことで作業時間を短縮できます。
数式を下までコピーした後、「単価確認」でフィルターをかけると修正候補を一覧にできます。
旧バージョンでのVLOOKUP関数の利用
XLOOKUP関数が利用できないExcelの環境では、VLOOKUP関数でも同様の照合が可能です。
C2セルに入力する数式の例は次のとおりです。
=IFERROR(VLOOKUP(A2,$F$2:$G$100,2,FALSE),”未登録”)
VLOOKUP関数では、検索値、表範囲、返す列番号、検索方法の順番で指定します。
最後のFALSEは完全一致検索を意味するため、コード照合では基本的に指定しておくと安心です。
コード照合で近似一致を使うと、誤ったデータを返すおそれがあるため注意が必要です。
【操作のポイント】商品コードで正規データを検索し、その結果と入力済みの値を比較すると、キーと内容を一緒に検査できます。
エクセルで一致確認する方法5【複数条件と行全体のデータ照合】
続いては、氏名だけでなく部署や日付など、複数の項目をまとめて確認する方法について解説していきます。
| A列 | B列 | C列 | D列 |
|---|---|---|---|
| 社員番号 | 氏名 | 部署 | 入社日 |
| 101 | 山田花子 | 営業部 | 2024/04/01 |
AND関数で複数セルを同時に比較する式
2列以上の項目がすべて一致するかを確認したいときは、AND関数を使います。
比較するデータがF列からI列にある場合、E2セルには次のように入力できます。
=IF(AND(A2=F2,B2=G2,C2=H2,D2=I2),”全項目一致”,”差異あり”)
AND関数は、指定した条件がすべてTRUEのときだけTRUEを返します。
社員番号、氏名、部署、入社日のすべてが一致した場合に「全項目一致」と表示される仕組みです。
複数項目の照合では、どれか1つだけ違っていても見逃さない判定列を用意すると効率的です。
差異のある項目を分けて表示する方法
「差異あり」とだけ表示されても、どの項目が違うのか分からない場合があります。
そのようなときは、項目ごとに判定列を作る方法が分かりやすいでしょう。
たとえば氏名を確認する列には =IF(B2=G2,”氏名OK”,”氏名差異”)、部署を確認する列には =IF(C2=H2,”部署OK”,”部署差異”) のような式を設定します。
判定列を分けると、修正する担当者が原因をすぐに確認できます。
複数列の照合では、総合判定列と項目別判定列を併用すると、異常の発見と原因確認を両立できます。
条件付き書式による不一致セルの色分け
不一致のセルを見つけやすくするには、条件付き書式で色を付ける方法も有効です。
比較したい範囲を選択し、ホームタブの条件付き書式から「新しいルール」を選びます。
数式を使用して書式設定するセルを決定する項目で、先頭セルを基準に =B2<>G2 のような数式を入力します。
その後、塗りつぶし色を淡い赤などに設定すると、異なるセルだけが目立つようになります。
条件付き書式は数式の判定結果を視覚化できるため、大量データの目視確認を補助する手段として便利です。
【操作のポイント】行全体を比較するときは総合判定だけで終わらせず、差異の項目を追跡できる列や色分けを加えましょう。
まとめ エクセルでデータが一致しているか関数で調べる方法
Excelでデータが一致しているか確認する方法は、比較するデータの配置と確認したい精度によって選ぶことが大切です。
同じ位置にある2つのセルなら、=IF(B2=C2,”一致”,”不一致”) のような式で手軽に判定できます。
英字の大文字と小文字まで確認したい場合はEXACT関数を使うと、より厳密な文字列照合が可能です。
別表にコードが存在するか調べる用途ではCOUNTIF関数が便利で、対応する単価や名称まで確認するならXLOOKUP関数が役立ちます。
複数項目をまとめて確認する場合はAND関数を使い、必要に応じて項目別の判定列や条件付き書式も組み合わせましょう。
不一致が出たときは、空白、全角半角、文字列形式の数値、重複、参照範囲のずれを順に確認すると原因を見つけやすくなります。
関数による一致確認を表に組み込めば、目視だけに頼らない正確で再利用しやすいチェック作業へ変えられます。