科学や計算関連

【Excel】エクセルの比較関数で数値・文字列の一致・不一致を判定する方法(IF・比較演算子・比較記号・比較式)

エクセルで一致・不一致を判定する基本式
当サイトでは記事内に広告を含みます

Excelで2つのセルを比べる場面では、数値が同じか、文字列が一致するか、空白をどう扱うかによって適切な比較式が変わります。

基本となるのは比較演算子であり、結果を表示しやすくするためにIF関数を組み合わせる方法です。

同じに見えるデータでも、全角と半角、余分なスペース、数値と文字列の違いによって不一致になることがあります。

比較の基本は、等しいかを調べる「=」、等しくないかを調べる「<>」、条件に応じた表示を切り替えるIF関数です。

この記事では、1行目を見出しとした表を使い、数値・文字列・複数条件・エラーを含むデータの判定方法を順番に解説します。

 

エクセルで一致・不一致を判定する基本式

エクセルで一致・不一致を判定する基本式

それではまず、数値や文字列が一致しているかを判定する最も基本的な比較式について解説していきます。

商品コード 入力値 基準値 判定
A-001 120 120 一致
A-002 85 90 不一致

 

等しいかを調べる比較演算子

セルB2とセルC2が同じかだけを確認する場合は、判定結果を表示するセルに比較式を入力します。

=B2=C2

値が同じならTRUE、異なればFALSEが返ります。

Excelでは等号を1つ使った式が、値どうしを比較する比較演算子として働きます。

数値の120と120は一致するためTRUEになり、85と90は異なるためFALSEです。

TRUEやFALSEをそのまま表示すれば、フィルターや集計に使いやすい判定列になります。

 

IF関数で一致・不一致と表示する式

TRUEやFALSEよりも分かりやすい文字を表示したいときはIF関数を使いましょう。

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

最初の引数B2=C2が条件式で、条件が成り立つ場合は一致、成り立たない場合は不一致を返します。

IF関数は、比較式の結果に応じて表示内容を切り替えるための関数です。

式をD2へ入力してからフィルハンドルを下へドラッグすると、各行のセル参照が自動調整されます。

表の確認作業では、数式の結果を日本語にしておくと見落としを減らせます。

 

不一致を調べる比較記号

一致ではなく、異なるデータだけを検出したい場合には不等号の組み合わせを使います。

=B2<>C2

この式はB2とC2が異なる場合にTRUEを返します。

IF関数と組み合わせるなら、=IF(B2<>C2,”要確認”,”OK”)のように入力できます。

「<>」はExcelで等しくないことを表す比較記号です。

照合対象が大量にある場合、不一致だけをTRUEにする式はオートフィルターとの相性が良い方法です。

【操作のポイント】比較するセルは同じ行どうしにそろえ、数式を入力する前に見出し行を除いたデータ範囲を確認します。

 

数値を比較する比較演算子と条件式

数値を比較する比較演算子と条件式

続いては、数値の大小や許容範囲を判定する比較演算子を確認していきます。

実績 目標 判定例
105 100 達成
98 100 未達

 

以上・以下を判定する比較式

売上が目標以上か、在庫が基準以下かを確認する場合は大小比較を使用します。

=IF(B2>=C2,”達成”,”未達”)

「>=」は以上、「<=」は以下、「>」はより大きい、「<」はより小さいことを意味します。

以上とより大きいは、基準値そのものを含むかどうかが異なります。

目標が100で実績も100の場合、B2>=C2はTRUEですが、B2>C2はFALSEです。

締切日、予算、点数、在庫数などの判定では、この境界の設定が特に重要になります。

 

差額を使う許容範囲の比較

計測値や金額の照合では、完全一致ではなく誤差の範囲内なら一致としたいことがあります。

=IF(ABS(B2-C2)<=0.1,”許容範囲内”,”差異あり”)

ABS関数は数値の正負を除いた絶対値を返すため、実績が基準より高い場合も低い場合も同じ基準で比較できます。

小数を含む数値は表示上同じでも内部値がわずかに異なることがあるため、許容誤差を設ける方法が有効です。

たとえば0.1という基準は、業務上許容できる差額や測定精度に合わせて変更しましょう。

通貨や割合を比較する場合も、判定の前に単位が統一されているかを確認します。

 

複数の数値条件を判定する方法

数値が下限以上かつ上限以下かを確認する場合にはAND関数を組み合わせます。

=IF(AND(B2>=80,B2<=100),”範囲内”,”範囲外”)

AND関数は、指定したすべての条件が成り立つときだけTRUEを返します。

逆に、いずれか1つの条件を満たせばよい場合はOR関数を使用します。

複数条件では、条件式を先に言葉で整理してから数式へ置き換えると入力ミスを防げます。

【操作のポイント】数値の比較では、セルの表示形式ではなく実際の値を基準に判定されることを意識します。

 

文字列を比較する方法と完全一致の判定

文字列を比較する方法と完全一致の判定

続いては、氏名・商品名・コードなどの文字列を比較する方法を確認していきます。

登録名 入力名 確認
東京支店 東京支店 一致
大阪支店 大阪 支店 不一致

 

比較演算子で文字列を照合する方法

文字列も数値と同じように、=B2=C2という式で一致を判定できます。

氏名、部署名、伝票番号、メールアドレスなどを左右の列で照合する場合に便利です。

=IF(B2=C2,”入力内容は一致”,”入力内容を確認”)

通常の等号による文字列比較では、英字の大文字と小文字は区別されません。

たとえばABCとabcは、通常の比較では一致として扱われます。

一方で、文字間のスペースや全角半角は別の文字として扱われるため、不一致になる点に注意が必要です。

 

EXACT関数による完全一致の判定

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

=IF(EXACT(B2,C2),”完全一致”,”相違あり”)

EXACT関数は2つの文字列が完全に同一であるときにTRUEを返します。

パスワードのような用途には使いませんが、型番や識別子の表記ゆれを厳密に確認する場面ではEXACT関数が役立ちます。

ABCとabc、商品Aと商品Aのような違いも、EXACT関数では不一致になります。

照合の厳しさをどこまで求めるかによって、通常の比較式とEXACT関数を使い分けましょう。

 

スペースを除去して比較する方法

貼り付けたデータに余分なスペースが混じる場合は、TRIM関数で前後や連続した半角スペースを整理してから比較します。

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

全角スペースが含まれる可能性がある場合は、SUBSTITUTE関数で全角スペースを置き換える式も検討します。

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

不一致の原因が見つからないときは、見えない空白や改行、文字コードの違いを疑うのが近道です。

【操作のポイント】文字列の照合前に、入力規則や表記ルールをそろえておくと、後からの修正作業を小さくできます。

 

IF関数と複数条件を使った比較結果の表示

続いては、IF関数とAND関数、OR関数を使い、実務で見やすい比較結果を表示する方法を確認していきます。

受注数 在庫数 出荷判定
12 15 出荷可
20 8 在庫不足

 

IF関数で段階的に判定する方法

比較結果を一致と不一致の2種類だけでなく、複数の状態に分けることもできます。

=IF(B2=C2,”一致”,IF(B2>C2,”入力値が大きい”,”入力値が小さい”))

最初のIF関数で一致を調べ、不一致なら2つ目のIF関数で大小を判定する構造です。

ネストしたIF関数は、優先順位が高い条件から順に書くと読みやすくなります。

条件が増えすぎる場合は、IFS関数や別表との照合を使う方法も考えましょう。

 

AND関数で出荷可否を確認する方法

受注数が在庫数以下で、かつ商品コードが入力されているときだけ出荷可と表示する例です。

=IF(AND(B2<=C2,A2<>””),”出荷可”,”確認”)

AND関数の中では、受注数と在庫数の比較、商品コードが空白でないことの2条件を指定しています。

どちらか一方でも満たさなければ確認と表示されるため、入力漏れを含めたチェックに向いています。

空白セルの判定には、セル番地<>””という比較式を使えます。

空白を許容するのか、空白なら警告とするのかは、帳票の運用に合わせて決めましょう。

 

Excel画面で数式を入力する操作

判定列の先頭セルへ数式を入れ、オートフィルで下の行へコピーする流れを確認していきます。

Book1 – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示
貼り付け
B
罫線
中央揃え
fx=IF(B2=C2,”一致”,”不一致”)
A B C D
1 商品コード 入力値 基準値 判定
2 A-001 120 120 一致
3 A-002 85 90 不一致
D2に式を入力して下へコピー

数式バーで式を確認し、D2の右下にあるフィルハンドルを下方向へドラッグすると、D3以降にも比較式が適用されます。

セルD2を選択した状態で数式バーを見れば、値ではなく実際の数式を確認できます。

【操作のポイント】式をコピーする前に、先頭セルで意図した表示になることを確認してからオートフィルを実行します。

 

エラー・空白・型の違いを含む比較の注意点

続いては、比較結果が想定と異なるときに確認したい、空白・エラー・データ型の扱いを確認していきます。

入力値 基準値 確認事項
空白 空白 空白同士の扱い
0012 12 文字列か数値か

 

空白セルを除外する比較式

両方が空白の行を一致と表示したくない場合は、先に空白かどうかを判定します。

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

この式はB2またはC2が空白なら未入力を返し、両方に値があるときだけ一致・不一致を判定します。

空白同士は単純な比較式では一致になりますが、業務上は未入力として区別した方がよい場合があります。

未入力行を除外したい帳票では、判定列に未入力を表示してフィルターで確認すると便利です。

 

IFERROR関数でエラーを見やすくする方法

比較対象に検索式や計算式が含まれ、エラーが出る可能性がある場合はIFERROR関数を追加します。

=IFERROR(IF(B2=C2,”一致”,”不一致”),”データ確認”)

比較するセルにエラー値があると、通常は比較結果にもエラーが引き継がれます。

IFERROR関数を使うと、エラー発生時だけデータ確認という任意の文字を表示できます。

IFERRORはエラーを隠すためだけではなく、入力や参照の異常を利用者へ伝える表示にも使えます。

原因まで確認する必要がある場合は、エラーをすべて置き換えず、元の計算列も残しておくと安心です。

 

数値と文字列の混在を確認する方法

見た目が12でも、片方が文字列の12として保存されていると、後続の計算で問題になることがあります。

=IF(AND(ISNUMBER(B2),ISNUMBER(C2),B2=C2),”数値として一致”,”形式を確認”)

ISNUMBER関数は対象が数値ならTRUEを返します。

文字列として保存された数字を数値にそろえるには、VALUE関数、数値への変換、区切り位置機能などを利用できます。

先頭に0を含む社員番号や郵便番号は文字列として扱うことが多いため、むやみに数値化しない判断も必要です。

【操作のポイント】一致判定の前に、比較対象が数値・文字列・日付のどの形式で保存されているかを確認します。

 

まとめ エクセルの比較関数で数値・文字列を判定する方法

エクセルで一致・不一致を判定する基本は、=B2=C2のような比較式です。

表示を分かりやすくしたい場合は、IF関数を組み合わせて一致、不一致、要確認などの文字列を返しましょう。

数値の大小には>、<、>=、<=を使い、異なる値の抽出には<>を使います。

文字列は通常の比較式で照合できますが、大文字小文字まで確認したいときはEXACT関数が適しています。

スペース、空白セル、エラー、数値と文字列の混在は、不一致や誤判定の主な原因です。

まずはサンプル表の先頭行で数式を試し、結果を確認してからオートフィルでデータ全体へ展開していきましょう。