はじめに
文字列が書き込まれたセル同士を比較する場合に、これらを等価記号で比較していないだろうか。
もし以下のような式を記述していたとすると、これは文字列がアルファベットで構成されている場合に正しく動作しない可能性がある。
=IF(A2=B2, "一致", "不一致")
なぜなら、等価記号で比較した場合は、アルファベットの大文字と小文字は区別されないからだ。
大文字と小文字を区別したい場合は、等価記号で比較してはいけないのだ。
今回は、このようなケースにどのように対応したら良いかを考えてみたい。
EXACT関数を利用する
結論から書くと、このようなケースではEXACT関数を利用するのが良い。
EXACT関数は、名前の通り正確な比較を行うために用意されている関数だ。
上記のようにA2セルとB2セルを比較したい場合、EXACT関数を使って以下のような式を記述すれば、正確に比較することができる。
=IF(EXACT(A2, B2), "一致", "不一致")
以下に実例を示す。
A列とB列の隣同士のセルで比較を行い、結果をC列に表示している。
黄色のヘッダーで示した表の4例は等価記号で比較し、青色のヘッダーで示した表の4例はEXACT関数を使用している。
等価記号では文字列を構成する文字が大文字か小文字かは考慮されないが、EXACT関数では厳密に評価されていることが分かるだろう。
まとめ
文字列同士の比較をする場合、文字列を構成する文字が大文字か小文字かを区別する必要があるなら、等価記号ではなくEXACT関数を使用して比較しよう。
大文字と小文字の区別をする必要がない場合は、等価記号を使用して比較すれば良い。