excel

【Excel】エクセルでデータを比較する方法(一致・大小・同じ値の判定)

エクセルで同じ値を判定する方法
当サイトでは記事内に広告を含みます

エクセルで複数のデータを比較したいときは、同じ値かどうかを判定するだけでなく、数値の大小、片方だけに存在する項目、文字列の差異などを正確に見分ける必要があります。

たとえば、売上表と請求書の金額照合、名簿の重複チェック、在庫数の差分確認、更新前後の一覧比較では、目視だけで確認すると見落としや入力ミスにつながりやすいものです。

一致判定にはIF関数と比較演算子を使い、数値の大小にはIF関数、複数条件にはCOUNTIF関数やXLOOKUP関数を組み合わせると、比較作業を効率化できます。

この記事では、1行目に見出しがあるデータ表を例に、セル同士の比較から表全体の照合、条件付き書式による色分けまでを詳しく解説します。

 

エクセルで同じ値を判定する方法

エクセルで同じ値を判定する方法

それではまず、エクセルで2つのセルが一致しているかを判定する基本的な方法について解説していきます。

商品名 システムA システムB 判定
ノートPC 120000 120000 一致
モニター 35000 34800 不一致

 

比較演算子による一致判定

最も基本的な方法は、比較演算子であるイコールを使う方法です。

たとえば、B列のシステムAとC列のシステムBを比較し、D2セルに判定結果を表示する場合は、次の数式を入力します。

=B2=C2

この数式の結果は、B2セルとC2セルが同じならTRUE、異なればFALSEです。

TRUEとFALSEは論理値と呼ばれ、後でIF関数や条件付き書式の条件としても使えます。

数値、日付、文字列は基本的に同じ内容ならTRUEになります。

ただし、文字列では半角と全角、余分なスペース、似ているが異なる記号などが不一致の原因になることがあります。

比較結果を下の行にも反映したい場合は、D2セル右下のフィルハンドルを下方向へドラッグしてオートフィルを実行しましょう。

 

IF関数で一致と不一致を表示する方法

TRUEやFALSEでは分かりにくい場合は、IF関数で表示する文字を変える方法が便利です。

D2セルには、次のように入力できます。

=IF(B2=C2,”一致”,”不一致”)

IF関数は、最初の条件が成立するときの値と、成立しないときの値を分けて表示する関数です。

この例ではB2=C2が真であれば一致、偽であれば不一致と表示されます。

金額照合では、比較の結果を日本語で表示しておくと、フィルターや並べ替えで確認対象を絞り込みやすくなります。

空白同士を一致として表示したくないときは、空白の確認条件を先に加えます。

=IF(OR(B2=””,C2=””),”未入力”,IF(B2=C2,”一致”,”不一致”))

この数式なら、どちらかのセルが空欄の場合は未入力と表示されるため、未入力と不一致を区別できます。

 

文字列比較で注意したい空白と表示形式

見た目が同じでも、セルの内部データが異なれば比較結果はFALSEになります。

たとえば、商品コードの先頭にあるゼロは、片方が文字列で00125、もう片方が数値で125の場合、同じように見せても比較できないことがあります。

この場合は、両方のセルの表示形式を文字列にそろえるか、TEXT関数で桁数を統一します。

=TEXT(B2,”00000″)=TEXT(C2,”00000″)

文字列の前後にある不要なスペースを除去したい場合は、TRIM関数を使います。

=TRIM(B2)=TRIM(C2)と入力すれば、連続するスペースを整理したうえで比較できます。

ただし、氏名や住所などで意図的に含まれている空白まで削除される可能性があるため、データの意味を確認してから関数を適用することが大切です。

【操作のポイント】一致しない原因を調べるときは、表示形式、空白、全角半角、数値と文字列の違いを順番に確認しましょう。

 

エクセルで数値の大小を比較する方法

エクセルで数値の大小を比較する方法

続いては、基準値より大きいか小さいか、または2つの金額に差があるかを判定する方法を確認していきます。

担当者 実績 目標 判定
田中 105 100 目標以上
佐藤 88 100 目標未満

 

大なり小なりによる比較演算子

数値の大小を判定するには、大なり記号と小なり記号を使います。

B2がC2より大きいかを調べる数式は=B2>C2です。

B2がC2より小さいかを調べる数式は=B2<C2になります。

以上や以下も判定でき、B2がC2以上なら=B2>=C2、B2がC2以下なら=B2<=C2です。

以上には等しい場合も含まれ、より大きい場合だけを確認したいときとは結果が異なります。

この違いは、合格ライン、予算上限、在庫の発注点などを判定する際に重要です。

日付もシリアル値として管理されているため、期限日との前後比較には同じ演算子を使用できます。

 

IF関数で大小の結果を分類する方法

実績と目標を比較して、分かりやすい判定を表示するにはIF関数を使います。

D2セルには次の数式を入力します。

=IF(B2>=C2,”目標以上”,”目標未満”)

目標より大きい、同じ、小さいという3段階に分ける場合は、IF関数を入れ子にします。

=IF(B2>C2,”上回る”,IF(B2=C2,”同じ”,”下回る”))

最初にB2>C2を判定し、成立しない場合だけB2=C2を判定する流れです。

金額の差額も表示したいなら、別の列に=B2-C2を入力します。

差額がプラスなら実績が目標を上回り、マイナスなら不足していることを示します。

判定列と差額列を併用すると、結果と差の大きさを一度に把握できます。

 

許容範囲を含めた差額判定

請求金額や測定値の比較では、数円や小数点以下のわずかな差を許容したいケースがあります。

この場合は、ABS関数で差額の絶対値を求めてから、許容範囲と比較します。

=IF(ABS(B2-C2)<=10,”許容範囲内”,”要確認”)

ABS関数は、マイナスの数値をプラスに変換する関数です。

たとえばB2が990円、C2が1000円なら差額はマイナス10円ですが、ABS関数の結果は10になります。

このため、どちらが大きいかに関係なく、差の絶対的な大きさで判定可能です。

許容値の10をセルに入力しておき、=IF(ABS(B2-C2)<=$F$1,”許容範囲内”,”要確認”)のように絶対参照する方法も実務的です。

【操作のポイント】基準値をコピーして使うときは、固定したいセルにドル記号を付けて絶対参照にしましょう。

 

エクセルで表全体のデータを照合する方法

続いては、片方の一覧にある値が、もう一方の一覧にも存在するかを確認する方法について解説していきます。

商品コード 一覧A 一覧Bに存在
A001 ノートPC あり
A002 モニター なし

 

COUNTIF関数で存在を確認する方法

別の範囲に同じ値が含まれているかだけを確認するなら、COUNTIF関数が使いやすい方法です。

たとえば、一覧AのA2セルの商品コードが、別シートのA列に存在するかを調べる場合は、次の数式を使います。

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

COUNTIF関数は、指定した範囲の中で条件に一致するセルの数を数えます。

結果が1以上なら、一覧Bにも同じ商品コードがあると判断できます。

重複している件数まで知りたい場合は、IF関数を外してCOUNTIF関数だけを使うと便利です。

コード、社員番号、注文番号のように一意であるべき項目の確認にも向いています。

範囲を$A:$Aのように固定することで、数式を下へコピーしても比較範囲がずれません。

 

XLOOKUP関数で対応する値を取り出す方法

存在確認に加えて、対応する金額や名称も取得したい場合はXLOOKUP関数が便利です。

一覧AのA2の商品コードを基に、Sheet2のA列から検索し、B列の商品名を表示する数式は次のとおりです。

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

第1引数は探したい値、第2引数は検索する範囲、第3引数は返したい値の範囲です。

最後の該当なしは、検索値が見つからなかったときに表示する文字列です。

XLOOKUP関数では、検索列が左端にない表でも柔軟にデータを取得できます。

ExcelのバージョンによってXLOOKUP関数が使えない場合は、VLOOKUP関数やINDEX関数とMATCH関数の組み合わせを検討しましょう。

 

複数列をキーにした照合方法

商品コードだけではなく、商品コードと月、氏名と部署のように複数の条件を一致させたいこともあります。

その場合は、比較用のキーを作る方法が分かりやすい手順です。

たとえば、A列の商品コードとB列の年月をつなげたキーをC2セルに作るには、=A2&B2と入力します。

比較先の表でも同じ順番でキー列を作り、そのキーをCOUNTIF関数で検索します。

=IF(COUNTIF(Sheet2!$C:$C,C2)>0,”一致”,”不一致”)

文字列を連結するときは、区切り文字を入れて=A2&”_”&B2のようにすると、値の境目を判別しやすくなります。

複数条件の照合では、両方の表で列のデータ型と表記ルールをそろえることが精度向上の鍵です。

【操作のポイント】照合キーは元データを直接変更せず、空いている列や別シートに作成すると確認後の修正が安全です。

エクセルで表全体のデータを照合する方法

 

条件付き書式で比較結果を色分けする方法

続いては、比較式の結果を色で表示し、不一致や重複をひと目で発見する方法を確認していきます。

商品名 前月在庫 当月在庫
ノートPC 15 12
モニター 8 8

 

セル同士が異なる場合に色を付ける設定

数式の結果を別列に表示しなくても、条件付き書式を使えば異なるセルだけを目立たせられます。

まず、比較したい範囲としてC2:C100を選択します。

ホームタブの条件付き書式から新しいルールを選び、数式を使用して、書式設定するセルを決定を選択します。

数式の欄には、=B2<>C2と入力します。

不等号の組み合わせである<>は、等しくないという意味です。

書式ボタンから塗りつぶしを選び、赤系など確認しやすい色を設定します。

適用範囲の先頭行と、数式内の行番号を一致させることが重要です。

たとえば範囲がC2:C100なら、数式はC3ではなくC2を基準に作成します。

在庫比較.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示 ヘルプ
BI罫線条件付き書式新しいルール
fx=B2<>C2
A B C
1 商品名 前月在庫 当月在庫
2 ノートPC 15 12
3 モニター 8 8
比較結果が異なるC2セルを赤く表示

 

重複データを強調する設定

名簿や注文番号の中に重複がないかを確認したい場合も、条件付き書式が役立ちます。

対象範囲を選択し、ホームタブの条件付き書式からセルの強調表示ルール、重複する値を選択します。

表示されたダイアログで書式を選べば、重複している値に自動で色が付きます。

数式で設定する場合は、対象がA2:A100なら=COUNTIF($A$2:$A$100,A2)>1を使います。

この数式は、同じ値が範囲内に2件以上あるときに真になります。

重複を削除する前に色分けで内容を確認すると、意図的に登録されている同名データを誤って消す事故を防げます。

 

比較結果をフィルターで絞り込む方法

IF関数で作成した判定列には、オートフィルターを設定できます。

表内のセルを選択してデータタブのフィルターをクリックすると、見出しに絞り込みボタンが付きます。

判定列で不一致だけを選択すれば、確認が必要な行だけを画面に表示できます。

件数が多い表では、色だけで探すよりも、フィルターと組み合わせた方が作業時間を短縮できます。

さらに不一致の行を別シートへコピーすれば、修正担当者へ渡す確認リストとしても利用可能です。

【操作のポイント】条件付き書式は見た目を変える機能であり、元の値を変更しません。色分け後も数式やフィルターで確認しましょう。

 

比較エラーを防ぐデータ整形の方法

続いては、比較式が正しいのに不一致となる場合に確認したい、データの整形方法について解説していきます。

元データ 整形後 確認内容
商品A 商品A 余分な空白を削除
123 123 全角数字を統一

 

空白文字を取り除くTRIM関数

コピーしたデータに余計な空白が含まれると、見た目が同じでも一致判定に失敗します。

TRIM関数は、文字列の前後にあるスペースを削除し、途中に連続する半角スペースを1つにまとめます。

=TRIM(A2)

元のデータを残したい場合は、隣の列に整形用の数式を作成してから比較します。

ウェブサイトやPDFから貼り付けた文字列には、TRIM関数だけで取り切れない特殊な空白が入ることもあります。

その場合はSUBSTITUTE関数で対象の文字を置換する方法もあります。

 

数値と文字列を統一するVALUE関数

数字のように見えても、セル内では文字列として保存されている場合があります。

文字列の数字を数値へ変換するにはVALUE関数を使います。

=VALUE(A2)

反対に、数値を文字列として扱いたい場合はTEXT関数や先頭のアポストロフィを利用します。

郵便番号、社員コード、商品コードのように先頭のゼロを保持する必要がある項目では、文字列として統一することが基本です。

比較前にセルの左上に緑色の三角マークがないかを見ると、数値が文字列として保存されている問題を発見しやすくなります。

 

日付形式と小数点誤差の確認

日付の表示が同じでも、一方に時刻が含まれていると一致しないことがあります。

時刻を除いて日付だけを比較したい場合は、INT関数で小数部分を切り捨てます。

=INT(B2)=INT(C2)

小数を含む計算結果では、内部的な丸め誤差により、表示は同じでも厳密比較ではFALSEになる場合があります。

このような場合はROUND関数で桁数をそろえ、=ROUND(B2,2)=ROUND(C2,2)のように比較します。

経理処理や測定値では、何桁までを同一とするかを事前に決めておくことが重要です。

【操作のポイント】元データを置換する前にコピーを保存し、整形用の列で比較結果が改善するか確認してから確定しましょう。

 

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

エクセルでデータを比較する際は、目的に応じて比較演算子、IF関数、COUNTIF関数、XLOOKUP関数、条件付き書式を使い分けることが大切です。

同じ値かを単純に判定するなら=B2=C2、表示を分かりやすくするなら=IF(B2=C2,”一致”,”不一致”)が基本になります。

数値の大小を確認するときは、大なり記号や小なり記号を使い、差額の許容範囲を設ける場合はABS関数を組み合わせましょう。

別表との照合にはCOUNTIF関数やXLOOKUP関数が役立ち、一覧内の不一致や重複を探す作業には条件付き書式とフィルターが効果的です。

比較結果がおかしいと感じたときは、空白、表示形式、文字列と数値、日付時刻、小数点誤差を確認することが解決への近道です。

まずは小さなサンプル表で数式を試し、自分のデータ構成に合わせて参照範囲や判定条件を調整していきましょう。