EXACT関数の使い方|文字列が完全に同じか比べる・=との違い(大文字小文字)

EXACT関数の使い方|文字列が完全に同じか比べる・=との違い(大文字小文字)

エクセルで、2つの文字列がまったく同じかどうかを、大文字・小文字まで区別して調べるには EXACT関数を使います。「Excel」と「Excel」なら =EXACT(A3,B3) で TRUE、「Excel」と「excel」なら FALSE です。

ふつうの「=」の比較は大文字・小文字を区別しないので、パスワードやコードの照合のように厳密に比べたいときに EXACT関数を使います。この記事では、EXACT関数の基本、「=」との違い、スペースや全角・半角の違い、一致したときの表示、大文字・小文字を無視して比べる方法までを、1つの表で説明します。下の練習ツールで、文字を書き換えて結果の変わり方を試せます。

目次

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

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

EXACT関数の書き方

EXACT関数の構文
数式=EXACT(文字列1,文字列2)
ひとことで2つの文字が同じか比べる
文字列1
1つ目の文字です
文字列2
2つ目の文字です

同じなら TRUE、少しでも違えば FALSE を返します。書式(太字や色)の違いは比べません。

EXACT関数の使い方|やりたいこと別の式

比べるもの式(例)結果
「Excel」と「Excel」=EXACT(A3,B3)TRUE
「Excel」と「excel」=EXACT(A4,B4)FALSE
同じ2つを「=」で比べる=A5=B5TRUE
後ろにスペースがある=EXACT(A6,B6)FALSE
全角「ABC」と半角「ABC」=EXACT(A7,B7)FALSE
スペースを消してから=EXACT(A8,TRIM(B8))TRUE
一致なら「OK」=IF(EXACT(A9,B9),”OK”,”違います”)違います
エクセルのEXACT関数で文字列が同じか比べた表
エクセルのEXACT関数で文字列が同じか比べた表

2つの文字列がまったく同じか比べる

1
結果を出したいセル(D3)を選びます。
2
「=EXACT(」と入力し、A3 をクリックしてカンマ、B3 をクリックします。
3
「)」と入力して Enter キーを押します。
EXACT関数の式
数式=EXACT(A3,B3)
ひとことで2つの文字が同じか比べる
A3
1つ目の文字です
B3
2つ目の文字です

同じ「Excel」なので TRUE です。

「=」での比較との違い(大文字・小文字)

「Excel」と「excel」を比べると、=EXACT(A4,B4) は FALSE ですが、=A5=B5 は TRUE になりました。「=」は大文字・小文字を区別しないためです。

比べ方大文字・小文字「Excel」と「excel」
EXACT関数区別するFALSE
=(イコール)区別しないTRUE

スペースや全角・半角の違いも見分ける

後ろにスペースが1つある「Excel 」とは FALSE、全角の「ABC」と半角の「ABC」も FALSE でした。見た目が同じでも一致しないときは、これらを疑います。スペースが原因なら、TRIM関数で消してから比べます。

EXACT関数の式
数式=EXACT(A8,TRIM(B8))
ひとことで2つの文字が同じか比べる
A8
1つ目の文字です
TRIM(B8)
2つ目の文字です

結果は TRUE です(TRIM関数の使い方)。

一致したら「OK」と表示する

IF関数の構文
数式=IF(EXACT(A9,B9),"OK","違います")
ひとことで条件で結果を切り替える
EXACT(A9,B9)
条件です
"OK"
真の場合です
"違います"
偽の場合です

「pass123」と「Pass123」は先頭の大文字・小文字が違うので、結果は 違います です。入力したコードやパスワードの確認に使えます(IF関数の使い方)。

大文字・小文字を無視して比べる

EXACT関数の式
数式=EXACT(UPPER(A10),UPPER(B10))
ひとことで2つの文字が同じか比べる
UPPER(A10)
1つ目の文字です
UPPER(B10)
2つ目の文字です

両方を UPPER関数で大文字にしてから比べると、「ABC」と「abc」は TRUE になります。スペースや全角・半角の違いは見分けたまま、大文字・小文字だけ無視できます(UPPER関数・LOWER関数の使い方)。

EXACT関数がうまくいかないときの確認表

症状考えられる原因対処
同じに見えるのに FALSEスペース・全角半角・大文字小文字の違いLEN関数で文字数を比べる。TRIM・ASC関数でそろえる。
数値と文字の数字を比べたいEXACT関数はどちらも文字として比べる「123」と 123 は TRUE。「=」では FALSE になる。
範囲の中に同じ文字があるか調べたいEXACT関数は2つを比べるだけ=SUMPRODUCT(–EXACT(範囲,文字))>0 で調べる。
大文字・小文字を区別したくないEXACT関数は区別する「=」で比べるか、UPPER関数でそろえる。

EXACT関数のよくある質問

VLOOKUP関数で大文字・小文字を区別して探せる?

VLOOKUP関数は区別しません。区別したいときは =INDEX(結果の範囲,MATCH(TRUE,EXACT(検索の範囲,値),0)) のように EXACT関数を組み合わせます。

重複チェックで大文字・小文字を区別したい

=SUMPRODUCT(--EXACT($A$3:$A$10,A3))>1 のようにすると、まったく同じ文字が2つ以上あるかを調べられます。

あわせて読みたい:文字の比較の関連記事

練習用ファイル:練習用Excelファイル(.xlsx・無料)

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

この記事を書いた人

目次