エクセルで文字列を比較する方法|一致・不一致をIFで判定・〇表示・EXACTで大文字小文字も

Excelで文字列を比較する方法|IF・EXACTで一致/不一致を判定

Excelで同じ行の2つの文字列を比較するなら、=IF(A1=B1,"一致","不一致") を使います。大文字・小文字まで区別したいときはEXACT関数を組み合わせます。まず「同じ行を比べる」のか「別の一覧に存在するかを探す」のかを分けて考えましょう。

練習用Excelファイル(無料ダウンロード)
EXACTで大文字・小文字の違いを確認できるデータです。本文のIF式も空いている列に入力して比較できます。ボタンをクリック/タップして保存し、Excelで開いてください。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

IF関数で文字列が一致するかを表示する

A列に比較元、B列に比較先を用意し、C1に次の式を入力します。下へコピーすると、各行のA列とB列を比較できます。

C1に入力:IFで2つの文字列が一致するかを表示する
数式=IF(A1=B1,"一致","不一致")
ひとことでA1とB1が同じなら「一致」、違えば「不一致」と表示する
A1=B1
条件です。同じ行のA列とB列が、等しいかを調べます。英字の大文字・小文字は区別されません
"一致"
条件が成り立つとき(同じとき)に表示する文字です
"不一致"
成り立たないとき(違うとき)に表示する文字です
データの流れ
① A1「apple」とB1「Apple」を比べる
A1appleB1Apple
▼
② 大文字・小文字は区別されないので「一致」結果
C1一致
A列B列上の式の結果
appleApple一致
bananaBanana一致
grapegrape一致
appleapples不一致
ポイント通常の「=」による文字列比較は英字の大文字・小文字を区別しません。「一致なら〇、違えば空白」にするなら、返す文字を変更します。
C1に入力:一致なら〇、違えば空白にする
数式=IF(A1=B1,"〇","")
ひとことで返す文字を変えて、見せ方を変える
A1=B1
A1とB1が等しいかを調べます
"〇"
同じときに表示する文字です
""
違うときは空の文字を返すので、何も表示されません
補足直接書く文字は、半角のダブルクォーテーションで囲みます。セル番地(B1など)は囲みません。
ポイントIF関数の中で直接文字を指定するときは =IF(A1="完了","確認済み","") のように半角のダブルクォーテーションで囲みます。セル番地B1を指定する場合は囲みません。

A列とB列が同じなら〇、違えば×を出す例です。C2 に =IF(A2=B2,"〇","×") を入れて下へコピーしました。試したところ、B3 の「佐藤 」は後ろに空白があるため ×(③)、A6 の数値の 100 と B6 の文字の「100」も ×(④)になりました。apple と Apple は「=」では 〇 ですが、EXACT関数では FALSE です(⑤)。「=」で一致した数は =SUMPRODUCT((A2:A6=B2:B6)*1) で 3 でした。

エクセルでA列とB列が同じなら〇を表示し見た目が同じでも×になる例とEXACTで比べた例
エクセルでA列とB列が同じなら〇を表示し見た目が同じでも×になる例とEXACTで比べた例

同じ行の2つのセルを比べる式(IF関数と =)

手順:C2 に IF の式を入れて Enter

A2 の「apple」と B2 の「Apple」を比べます。 C2 に次の式を入力して、Enter キーを押します❶。

C2 に入れる式
=IF(A2=B2,"一致","不一致")
A2=B2 論理式(A2=B2)"一致" 真の場合(一致)"不一致" 偽の場合(不一致)
ひとことでA2 と B2が同じなら「一致」、ちがえば「不一致」と表示する
式を分けて読むと(色は画像の枠と同じ)
論理式A2=B2
何を比べる?
→ A2 と B2 が同じか
真の場合"一致"
同じなら?
→ 「一致」と表示
偽の場合"不一致"
ちがえば?
→ 「不一致」と表示
自分の表で使うときは
青に比べる2つのセルを = でつなぎます。表示する文字は自由に変えられます(〇・× など)。例:一致したら〇、ちがえば空白=IF(A2=B2,"〇","")
  • = で比べると、大文字と小文字は同じとみなされます。
エクセルのIF関数で2つのセルが同じか比べる式と、比べるセルを色分けした画面
エクセルのIF関数で2つのセルが同じか比べる式と、比べるセルを色分けした画面

確認:大文字・小文字は区別されず「一致」

エクセルのIF関数でappleとAppleが一致になり、EXACT関数ではFALSEになったことを示した画面
エクセルのIF関数でappleとAppleが一致になり、EXACT関数ではFALSEになったことを示した画面

答えは 一致 になりました❷。式は、次の順に計算しています。

  1. 「apple」と「Apple」を = で比べる
    ⇒ 大文字・小文字は区別しない → TRUE
  2. TRUE なので
    ⇒ 一致 を表示
ヒント:区別したいときは EXACT
右の =EXACT(A2,B2) は大文字・小文字を区別するので FALSE になりました。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

EXACT関数で大文字・小文字まで比較する

C1に入力:EXACTで大文字・小文字まで比較する
数式=EXACT(A1,B1)
ひとことで文字が完全に同じなら TRUE、違えば FALSE を返す
A1
比較する1つ目の文字列です
B1
比較する2つ目の文字列です。大文字・小文字も含めて、完全に同じかを調べます
データの流れ
① A1「apple」とB1「Apple」を比べる
A1appleB1Apple
▼
② 大文字・小文字が違うので FALSE結果
C1FALSE

一致すればTRUE、不一致ならFALSEです。「apple」と「Apple」はFALSE、「grape」と「grape」はTRUEになります。判定を日本語で表示する式は次のとおりです。

C1に入力:EXACTの結果を、日本語で表示する
数式=IF(EXACT(A1,B1),"一致","不一致")
ひとことでEXACTが TRUE なら「一致」、FALSE なら「不一致」と表示する
EXACT(A1,B1)
大文字・小文字まで、完全に同じかを調べます
"一致"
TRUE(完全に同じ)のときの表示です
"不一致"
FALSE(違う)のときの表示です
補足「apple」と「Apple」は不一致、「grape」と「grape」は一致になります。
ポイントEXACTは文字の内容を比較します。フォントの色や太字などの書式が同じかどうかは判定しません。
大文字・小文字まで区別して比べる(EXACT)式 =EXACT(A1,B1) の解説図。C1に入力する
C1に =EXACT(A1,B1) を入力。apple と Apple は 先頭の大文字・小文字が違う → FALSE
練習用Excelファイル(無料ダウンロード)
EXACTの練習ファイルで、大文字・小文字の違いを試せます「Sheet1」のA列・B列を書き換えて、EXACTの結果(TRUE/FALSE)が変わるのを確認できます。本文のIF式も、空いている列に入力して試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

空白の行を判定から外す

未入力の行まで「一致」と表示させたくない場合は、先に空白を判定します。次は、どちらかが空白なら結果を空白にする例です。

C1に入力:空白の行を判定から外す
数式=IF(OR(A1="",B1=""),"",IF(A1=B1,"一致","不一致"))
ひとことでどちらかが空白なら何も表示せず、両方に値があるときだけ判定する
OR(A1="",B1="")
A1かB1の、どちらかが空白かを調べます
""
どちらかが空白なら、何も表示しません。これがないと、両方空白の行が「一致」になります
IF(A1=B1,"一致","不一致")
両方に値があるときだけ、一致を判定します
補足「一方だけ未入力」を見つけたいときは、空白にせず「未入力あり」と表示させてください。
ポイントこの式は数式で返された空文字 "" も空白として扱います。「一方だけ未入力」を見つけることが目的なら、空白にせず「未入力あり」と表示させてください。

【実機で検証】19組の値を4つの比べ方で試した結果

見た目が近い値を 19 組用意して、Excel の実機で比べました。同じ2つの値でも、比べ方によって結果が変わります。主な結果です。COUNTIF と MATCH は、左の値を右のセルから探した結果です。

エクセルで見た目が近い値をイコール・EXACT・COUNTIF・MATCHで比べた結果の表
エクセルで見た目が近い値をイコール・EXACT・COUNTIF・MATCHで比べた結果の表
比べた2つの値=EXACTCOUNTIFMATCH
apple と APPLE一致不一致一致一致
abc と abc+後ろにスペース不一致不一致不一致#N/A
ABC と ABC(全角)不一致不一致不一致#N/A
ア と ア(半角カナ)不一致不一致不一致#N/A
全角スペースと半角スペース不一致不一致不一致#N/A
数値の 100 と文字の 100不一致一致一致#N/A
数値の 100 と全角の 100不一致不一致一致#N/A
日付と文字の 2026/10/31不一致不一致一致#N/A
が と か+濁点(別の文字)一致不一致一致#N/A
abc と abc+NBSP不一致不一致不一致#N/A
空のセルと 0一致不一致一致一致
abc(探す値を a* にする)不一致不一致一致一致

検証で分かったこと

  • 数値の 100 と文字の 100:= は不一致、EXACT と COUNTIF は一致でした。
  • COUNTIF は判定がゆるい:全角の 100 や文字の日付でも一致しました。厳密に確かめたいときには向きません。
  • EXACT は大文字・小文字を区別する:apple と APPLE は不一致でした。一方で、数値の 100 と文字の 100 は一致します。
  • 空のセルは 0 と一致する:= では TRUE になりました。空白の行は先に外します。
  • * と ? に注意:COUNTIF と MATCH では、探す値の a* は abc に一致しました。

どれを使うか

やりたいこと使うもの
ふつうに同じか確かめる=(大文字・小文字は区別しない)
大文字・小文字も区別するEXACT
一覧の中にあるかを調べるCOUNTIF(全角の数字や * の扱いに注意)
数値と文字が混ざっている先に文字列を数値に変換してそろえる

見た目が同じなのに一致しないとき

余分なスペースを調べる

LEN(A1) と LEN(B1) で文字数を比べると、見えにくい空白に気付きやすくなります。前後の半角スペースを除いて比較する例です。

C1に入力:前後のスペースを除いて比較する
数式=IF(TRIM(A1)=TRIM(B1),"一致","不一致")
ひとことで前後の余分なスペースを取り除いてから比べる
TRIM(A1)=TRIM(B1)
TRIMは、前後の空白を取り除き、途中の連続する空白を1つにします。その結果同士を比べます
"一致"
同じときの表示です
"不一致"
違うときの表示です
データの流れ
① A1「 営業部 」(前後にスペース)とB1「営業部」
A1 営業部 B1営業部
▼
② スペースを取り除いて比べるので「一致」結果
C1一致
注意TRIMは途中の連続する半角スペースも1個にまとめます。氏名や商品コードで空白自体に意味がある場合は、勝手に除去しないでください。全角スペースや改行、Web由来の特殊な空白は別途確認が必要です。

数値と文字列を区別する

ポイント数値の100と文字列の「100」が混在していないか、ISNUMBERやISTEXTで確認します。金額など数値として比較する項目は数値へ統一し、先頭の0が必要な社員番号などは文字列へ統一します。文字列を数値に一括変換する方法も参考になります。

次はA1に「営業」が含まれるかを調べる式です。SEARCHは英字の大文字・小文字を区別せず、見つからない場合はエラーになるため、ISNUMBERで判定します。

C1に入力:文字列を「含む」かを判定する
数式=IF(ISNUMBER(SEARCH("営業",A1)),"含む","含まない")
ひとことでA1に「営業」が含まれるかを調べる
ISNUMBER(SEARCH("営業",A1))
SEARCHは、見つかると位置の数値を返し、見つからないとエラーになります。ISNUMBERで、数値かどうか(=見つかったか)を調べます
"含む"
見つかったときの表示です
"含まない"
見つからなかったときの表示です
データの流れ
① A1「 営業部 」の中で「営業」を探す
A1 営業部 位置2
▼
② 位置が数値で返ったので「含む」結果
C1含む
ポイント大文字・小文字を区別する部分一致にはFINDを使います。LIKEはExcelの通常のセル数式で使う演算子ではありません。

不一致の行に色を付ける・一致数を数える

A1:B100を選択し、[ホーム]→[条件付き書式]→[新しいルール]→[数式を使用して、書式設定するセルを決定]で、次の式と塗りつぶし色を設定します。

条件付き書式の数式:不一致の行に色を付ける
数式=$A1<>$B1
ひとことでA列とB列が違う行を、見つけて色を付ける
$A1<>$B1
「<>」は「等しくない」の記号です。列だけを固定($A・$B)して、行は相対にするので、各行が自動で判定されます
補足セル全体に色が付きます。違う文字だけを着色するものではありません。
注意これはセル全体を色付けする方法で、違う文字だけを着色するものではありません。両列に値がある行だけで一致数を数える場合は、次の式を使います。
結果セルに入力:両方に値がある行だけで、一致数を数える
数式=SUMPRODUCT((A1:A100<>"")*(B1:B100<>"")*(A1:A100=B1:B100))
ひとことでAもBも空白でない行のうち、同じ行同士が一致した数を数える
(A1:A100<>"")
A列が空白でない行だけが 1 になります
(B1:B100<>"")
B列が空白でない行だけが 1 になります
(A1:A100=B1:B100)
同じ行のAとBが同じなら 1 になります
補足3つをかけ算して、全部 1 の行を合計します。空白の行は数えません。
ポイント複数列の組み合わせを比べる場合は、単純連結による取り違えを避け、=IF(AND(A1=D1,B1=E1,C1=F1),"一致","不一致") のように列ごとに比較します。
練習用Excelファイル(無料ダウンロード)
appleとApple、前後にスペースがある文字などに変えて、「=」・EXACT・TRIMの違いを確かめられます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

文字列の比較が合わない・思った結果にならないときの確認表

症状主な原因確認と対処
大文字・小文字が違うのに「一致」になる「=」の比較は、英字の大文字・小文字を区別しないEXACT関数を使う
見た目が同じなのに「不一致」になる前後や途中に空白がある/全角と半角が混ざっているLENで文字数を比べて見つける。前後の空白はTRIMで取り除いてから比べる
数値と文字列が混ざって不一致になる数値の100と、文字列の「100」は、「=」では等しくないISNUMBER・ISTEXTで確認し、データの型をそろえる
空白の行が「一致」になる両方空白のセル同士は、等しいと判定されるIF(OR(A1="",B1=""),"",…) で、先に空白を除く
「含む」の判定でエラーが出るSEARCHは、見つからないときエラーを返すISNUMBER(SEARCH(…)) の形で、エラーを判定に変える

順番が違う2つの名簿を比較したい場合

ポイント行の順番が違う名簿にA1=B1を使うと、同じ人が別の行にいても不一致になります。その場合はCOUNTIFなどで一覧内の存在を調べます。2つの名簿を比較して片方にしかないデータを抽出する方法へ進んでください。

よくある質問

A列の名前がB列のどこかにあるか(順番が違う名簿)を調べたいときは?

COUNTIF関数で数えます。=IF(COUNTIF(B:B,A2)>0,"あり","なし") のようにすると、B列のどこかに同じ名前があれば「あり」です。試したところ、B列の「佐藤 」のように後ろに空白があると「佐藤」は「なし」になりました。

数値の 100 と文字の「100」を同じとみなしたいときは?

「=」では別のものとして × になります。=IF(A6=VALUE(B6),"〇","×") のように VALUE関数で文字を数値にそろえると 〇 になりました。なお EXACT関数は両方を文字として比べるため、100 と「100」は TRUE でした(文字列を数値に一括変換する方法)。

一致した行に色を付けたい・不一致の数を数えたいときは?

色は条件付き書式で =$A1<>$B1 のような式を使います。数は SUMPRODUCT で数えられ、この記事の例では「=」で一致した数が 3 でした。

エクセルでA列とB列(2つのセル)が同じなら〇を表示するには?

IF関数を使います。=IF(A2=B2,"〇","×") で、同じなら〇、違えば×です。違うときを空白にするなら =IF(A1=B1,"〇","") にします。後ろに空白がある文字や、数値の 100 と文字の「100」は×になりました。

一致・不一致を判定する関数は?

IF関数と「=」を組み合わせます。=IF(A1=B1,"一致","不一致") で、同じなら「一致」、違えば「不一致」です。大文字・小文字も区別するなら =IF(EXACT(A1,B1),"一致","不一致") を使います。

文字列の比較を部分一致(含む)で判定するには?

SEARCH関数とISNUMBER関数を使います。=IF(ISNUMBER(SEARCH("営業",A1)),"含む","含まない") で、A1に「営業」が含まれるかを調べられます。大文字・小文字を区別する部分一致にはFINDを使います。

練習用Excelファイル(無料ダウンロード)
EXACTで大文字・小文字の違いを確認できるデータです。本文のIF式も空いている列に入力して比較できます。ボタンをクリック/タップして保存し、Excelで開いてください。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

仕様の確認:Microsoft公式・EXACT関数 / Microsoft公式・TRIM関数 / Microsoft公式・SEARCH関数

関数ごとの詳しい使い方は、EXACT関数・IF関数・SUBSTITUTE関数で、実際の Excel の画面と練習用ファイルつきで説明しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次