セミナーのときに、
「2 つのセルのデータが同じかどうかを簡単に確認するにはどうしたらよいですか?」と
質問をいただきました。
2 つのセルには文字列が入力されているようです。

計算式を使って処理をし、その戻り値 (計算結果) で判断をするのがよいと思うので、
EXACT 関数を使う方法と「=」を使う方法の 2 種類をご案内しました。
 

step1Excel201106-001.jpg

数式が短くて簡単なのは、比較したい 2 つのセルのデータがイコールなのかを
「=」で判断することです。

下図の場合、セル E9 には「=B9=C9」という数式が入力されていて、
メールアドレス 1 と 2 が同じなら「TRUE」、異なれば「FALSE」という結果が
表示されます。

1Excel201106-001.jpg

 

しかし、B9 と C9 のメールアドレスをよく見ると、先頭の文字に違いがあります。
メールアドレス 1 は先頭の文字が小文字、メールアドレス 2 は大文字です。

そうです。

「=」の計算結果の場合、アルファベットの大文字と小文字は区別されないのです。

 

一方、EXACT 関数を使うとどうでしょう。

EXACT 関数は、2 つの文字列を比較し、その結果を返してくれる関数です。特徴は、
アルファベットの大文字と小文字が区別されることです。

「=EXACT(文字列1,文字列2)」というように、比較したい 2 つの文字列やその文字列が
入力されているセル番地を指定します。

下図の場合、セル D9 には「=EXACT(B9,C9)」という数式が入力されていて、
メールアドレス 1 と 2 が同じなら「TRUE」、異なれば「FALSE」という結果が表示されます。

B9 と C9 のメールアドレスの比較結果を見ると、「FALSE」となっています。
2 つのメールアドレスの先頭の文字の違いが結果に表れたということですね。

2Excel201106-001.jpg

 

step2Excel201106-001.jpg

2 つの文字列を比較したとき、どうみても同じに見えるのに結果は「FALSE」ということが
あるかもしれません。

下図のセル B10 と C10 のメールアドレスは大文字/小文字も含めて、
まったく同じに見えるのですが、EXACT 関数でも「=」を使った数式でも
答えは「FALSE」です。なぜでしょう?
 
3Excel201106-001.jpg

そんなときのチェック ポイントは、、、

「余計なスペースが入っていませんか?」

です。

下図の例では、セル C10 のメールアドレスの末尾にだけ半角スペースが入っており、
セル B10 にはこの半角スペースがありません。
これによって一致しないとみなされ、「FALSE」となるのです。

4Excel201106-001.jpg

 

末尾の不要なスペースは TRIM 関数を使うと削除できます。
ここでは紹介しませんが、複数のセルに含まれる不要なスペースをまとめて削除したい場合に
使えますよ。
 

step3Excel201106-001.jpg

IF 関数を使って結果をわかりやすく表示しましょう。

たとえば、一致しているかどうかの結果が「TRUE」だったら「一致」、
そうでなかったら (「FALSE」だったら) 「不一致」のようにわかりやすい表示にすると
よいですよ。

IF 関数と EXACT 関数を組み合わせるのなら、
「=IF(EXACT(文字列1,文字列2),"一致","不一致")」という数式を作ればよいですね。

5Excel201106-001.jpg
 
 

IF 関数と 「=」での処理を組み合わせるのなら、
「=IF(=文字列1=文字列2,"一致","不一致")」という数式を作ります。
6Excel201106-001.jpg

 

2 つの文字列データを比較し、その結果を確認する方法をご紹介しました。
お使いくださいませ

私は、関数を使ったほうがスムーズなら使えばよいけれど、
使わなくていいなら使わないほうがいい、と思っているのです。
今回の例でいえば、「=」ですむならそのほうがいいけど、
アルファベットの大文字と小文字を区別しなきゃいけないなら EXACT 関数を使います。
自分がどうしたいかによって適した方法を選びたいですね。

石田かのこ