Excelで同じ行の2つの文字列を比較するなら、=IF(A1=B1,"一致","不一致") を使います。大文字・小文字まで区別したいときはEXACT関数を組み合わせます。まず「同じ行を比べる」のか「別の一覧に存在するかを探す」のかを分けて考えましょう。
IF関数で文字列が一致するかを表示する
A列に比較元、B列に比較先を用意し、C1に次の式を入力します。下へコピーすると、各行のA列とB列を比較できます。
| A列 | B列 | 上の式の結果 |
|---|---|---|
| apple | Apple | 一致 |
| banana | Banana | 一致 |
| grape | grape | 一致 |
| apple | apples | 不一致 |
A列とB列が同じなら〇、違えば×を出す例です。C2 に =IF(A2=B2,"〇","×") を入れて下へコピーしました。試したところ、B3 の「佐藤 」は後ろに空白があるため ×(③)、A6 の数値の 100 と B6 の文字の「100」も ×(④)になりました。apple と Apple は「=」では 〇 ですが、EXACT関数では FALSE です(⑤)。「=」で一致した数は =SUMPRODUCT((A2:A6=B2:B6)*1) で 3 でした。

同じ行の2つのセルを比べる式(IF関数と =)
手順:C2 に IF の式を入れて Enter
A2 の「apple」と B2 の「Apple」を比べます。 C2 に次の式を入力して、Enter キーを押します❶。
=IF(A2=B2,"一致","不一致") "一致" 真の場合(一致)"不一致" 偽の場合(不一致)A2=B2"一致""不一致"青に比べる2つのセルを = でつなぎます。表示する文字は自由に変えられます(〇・× など)。例:一致したら〇、ちがえば空白
=IF(A2=B2,"〇","") - = で比べると、大文字と小文字は同じとみなされます。

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

答えは 一致 になりました❷。式は、次の順に計算しています。
- 「apple」と「Apple」を = で比べる
⇒ 大文字・小文字は区別しない → TRUE - TRUE なので
⇒ 一致 を表示
=EXACT(A2,B2) は大文字・小文字を区別するので FALSE になりました。まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
EXACT関数で大文字・小文字まで比較する
一致すればTRUE、不一致ならFALSEです。「apple」と「Apple」はFALSE、「grape」と「grape」はTRUEになります。判定を日本語で表示する式は次のとおりです。

▶ 練習ファイルのEXACT(C1)を、練習ツールで試す / EXACTとIFの式(F列)を、練習ツールで試す

空白の行を判定から外す
未入力の行まで「一致」と表示させたくない場合は、先に空白を判定します。次は、どちらかが空白なら結果を空白にする例です。
【実機で検証】19組の値を4つの比べ方で試した結果
見た目が近い値を 19 組用意して、Excel の実機で比べました。同じ2つの値でも、比べ方によって結果が変わります。主な結果です。COUNTIF と MATCH は、左の値を右のセルから探した結果です。

| 比べた2つの値 | = | EXACT | COUNTIF | MATCH |
|---|---|---|---|---|
| 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) で文字数を比べると、見えにくい空白に気付きやすくなります。前後の半角スペースを除いて比較する例です。
数値と文字列を区別する
文字列を「含む」か判定する
次はA1に「営業」が含まれるかを調べる式です。SEARCHは英字の大文字・小文字を区別せず、見つからない場合はエラーになるため、ISNUMBERで判定します。
不一致の行に色を付ける・一致数を数える
A1:B100を選択し、[ホーム]→[条件付き書式]→[新しいルール]→[数式を使用して、書式設定するセルを決定]で、次の式と塗りつぶし色を設定します。
文字列の比較が合わない・思った結果にならないときの確認表
| 症状 | 主な原因 | 確認と対処 |
|---|---|---|
| 大文字・小文字が違うのに「一致」になる | 「=」の比較は、英字の大文字・小文字を区別しない | EXACT関数を使う |
| 見た目が同じなのに「不一致」になる | 前後や途中に空白がある/全角と半角が混ざっている | LENで文字数を比べて見つける。前後の空白はTRIMで取り除いてから比べる |
| 数値と文字列が混ざって不一致になる | 数値の100と、文字列の「100」は、「=」では等しくない | ISNUMBER・ISTEXTで確認し、データの型をそろえる |
| 空白の行が「一致」になる | 両方空白のセル同士は、等しいと判定される | IF(OR(A1="",B1=""),"",…) で、先に空白を除く |
| 「含む」の判定でエラーが出る | SEARCHは、見つからないときエラーを返す | ISNUMBER(SEARCH(…)) の形で、エラーを判定に変える |
順番が違う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を使います。
仕様の確認:Microsoft公式・EXACT関数 / Microsoft公式・TRIM関数 / Microsoft公式・SEARCH関数
関数ごとの詳しい使い方は、EXACT関数・IF関数・SUBSTITUTE関数で、実際の Excel の画面と練習用ファイルつきで説明しています。
