Excel。ABCとabc。大文字小文字の違いはIF関数では対応できません。
<EXACT関数>
セル内の文字が合致しているかなどでも、IF関数を使えば、簡単に比較して合致しているかどうかを判断することは容易にできるのですが、意外なケースだとIF関数で対応することができません。
例えば、大文字と小文字。
大文字で入力されているかどうかを確認したい場合、小文字で入力されていたら、合致していないと判定してほしいわけですが、IF関数だと判定することができません。
確認してみましょう。
A列の文字とB列の文字が合致していたら、C列に「○」を表示するというIF関数を設定しています。
C2の数式は、
=IF(A2=B2,"○","×")
A2とB2は、ともに大文字の「ABC」なので、当然合致していますので、「○」が表示されるわけです。
ところが、
A3は、大文字の「ABC」でB3は小文字の「abc」ですから、合致していません。
文字コードから考えても、合致はしていないのですが、結果は「○」。
つまり合致しているとIF関数を使用すると判断されてしまうわけです。
大文字で入力しているかどうかを判定する場合は、IF関数が使えないわけです。
セル内に入力されている一文字ごとに、大文字か小文字か判断させるのも大変です。
実は、今回のような場合、IF関数ではなくて、別の関数を使えば、あっさり解決することができます。
その関数が、『EXACT関数』です。
EXACT関数は、文字列を比較するだけではなく、大文字と小文字の区別もしてくれる関数なのです。
EXACT関数をつかって算出してみます。
D2の数式は、
=EXACT(A2,B2)
と設定しています。
算出結果は、「TRUE」「FALSE」と表示されます。大文字・小文字の区別もしてくれていることが確認できます。
ただ、TRUEとFALSEでは、実務的な表としては、わかりにくいので、数式を修正します。
D2の数式を、
=IF(EXACT(A2,B2),"○","×")
とIF+EXACT関数のネストにすることで、「○」「×」で判定することができます。
Excelでは、大文字と小文字の区別が、結構曖昧なことが多く見受けられますので、大文字と小文字の違いを確認したい時には、それに対応できる方法を確認しておく必要があります。
比較するのに、よくつかう、「条件付き書式」も大文字と小文字の区別がありません。
ホームタブの条件付き書式にある「セルの強調表示ルール」の「指定の値に等しい」をつかって、確認すると、大文字と小文字の違いを判定していないことがわかります。
今回のケースのように、思ったように処理されないこともありますので、実務では、少しずつ対応方法を増やしていくといいのかもしれませんね。