Excel 2つの文字列が同じかを比較(EXACT関数)

2020年5月15日

EXACT関数は2つの文字列を比較し、一致すればTRUEを、

そうでなければFALSEを返します。

この記事では関数の仕様と=(イコール)による比較との違いを紹介します。

仕様

=EXACT(文字列1,文字列2)
引数省略時の値説明
文字列1省略不可比較したい文字列を指定。
文字列2省略不可比較したい文字列を指定。
各引数の詳細

結果の例

=(イコール)による比較と同様の働きをしますが、

下記のようなケースで結果が異なります。

ケース動作
「半角文字の数字」と「数値」・=ではデータ型が違うと別と判定
・EXACT関数では数値が一緒であれば同じと判定
アルファベットの大文字と小文字・=では大文字と小文字を区別しない
・EXACT関数では大文字と小文字を区別する
EXACT関数の実行結果の例と=(イコール)による比較との違い
実行結果の例

結果として論理値(TRUE・FALSE)を返すため

主にIF関数に組み込んで使用します。

比較がうまく行かない場合

どちらかのセルに目には見えない文字が含まれている可能性があります。

その場合はLEN関数で文字数が同じかどうか調べるか

CLEAN関数で特殊な文字を削除してから比較しましょう。

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

スピルの利用には引数を範囲で指定します。

スピルでEXACT関数を記述する例
スピルでEXACT関数を記述する例

数式を入力するのは最初の一つのセルですが、

引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

E4に指定したEXACT関数がE12まで自動拡大
E4に指定したEXACT関数がE12まで自動拡大

スピルを利用することで今回の例では、

E4セルに入力するだけでよいため(E5以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

ちなみに関数でない方の=の比較もスピルで記述可能です。

スピルで=による比較を記述する例
スピルで=による比較を記述する例
D4に指定した比較がD12まで自動拡大
D4に指定した比較がD12まで自動拡大

関連記事

活用例

文字列を比較する方法(完全一致・部分一致)

VLOOKUP関数で大文字小文字を区別する方法

2つの表を比較し違う箇所を赤で強調する方法

複数列(3セル以上)の値が同じかを比較する方法

IF系関数の使い方・活用方法の記事一覧

関数の仕様と使い方の記事一覧