Excelで比較は=(イコール)よりExact関数を使う癖をつけたほうがいいよという記事です
Excelに慣れている人にとっては当たり前だと言われそうなんですけど、いまだにやる人がいるので。
現象:exact関数を使わないと何が起こるのか
「百聞は1件に如かず」ということで、何が起こるかまず紹介します。
以下のように値1と値2を2種類の方法で比較して出力します。
- D列は想定する結果
- E列は 「=(イコール記号)」で比較
- F列は「exact関数」で比較
イコール記号は分かりやすい比較なので、皆さんよくやります。
しかし実行すると、exact関数のほうが正確な結果が出力されます。
何でこんなことが起こるの?
Excelの=(イコール記号)の比較は、大文字小文字の区別を厳密に行わないためです。
そのため入力方式が選択式でない限りは、exact関数を使ったほうが無難です。
exact関数とイコールの比較
簡単に文字列パターンの比較結果をしてみました。
文字列1 | 文字列2 | =(equal記号) | exact関数 | 結果 |
---|---|---|---|---|
数字(全角) | 数字(半角) | True | True | 問題なし |
英文字(大文字) | 英文字(小文字) | True | False | exact関数が正確 |
英文字(全角) | 英文字(半角) | False | False | 問題なし |
カタカナ(半角) | カタカナ(全角) | False | False | 問題なし |
以上です。