Excelで大文字や数字が含まれるか?を判定する方法

Excelのセル値に特定の文字種が含まれているかを判定する場合、 正規表現が使うと便利なのですが、Excel VBAやアドインを入れなければならず、ちょっと面倒です。

ただし、大文字や小文字、数値が含まれるかどうか?の判定レベルあれば、以下のように標準のExcelの関数で実現することができます。

「大文字が含まれるか」を判定する場合

=IF(EXACT(対象のセル,LOWER(対象のセル)),"FALSE","TRUE")

大文字が含まれる場合にTRUEを返却します。

対象のセルにある文字列と、それをLOWER関数で小文字化した文字列を、EXACT関数で比較します。
一致した場合、「大文字が含まれていないこと」がわかります。
そのため、大文字が含まれる場合には、EXACT関数で「一致しない場合」をIF関数でTRUEとするようにします。

「小文字が含まれるか」を判定する場合

=IF(EXACT(対象のセル,UPPER(対象のセル)),"FALSE","TRUE")

小文字が含まれる場合にTRUEを返却します。

こちらの場合は、UPPER関数を用います。

「数字が含まれるか」を判定する場合

=IF(COUNT(INDEX(FIND(ROW($1:$10)-1,対象のセル),)),"TRUE","")

数字(0-9)が含まれる場合にTRUEを返却します。

FIND関数の検索文字列には、ROW関数で0~9を指定しています。
INDEX関数と組み合わせると、対象セルの文字列に含まれる0~9それぞれの位置を、配列で取得できます。
そして、COUNT関数で数字が含まれる数を検出し、1以上であればTRUEを返却します。

これらを組み合わせたり、TRUE判定を逆にしたりすることで、
「大文字を含むが、数値は含まない」
など、いろいろな判定を行うことができます。

まぁ、Googleスプレッドシートで正規表現が使えるんですけどね。。。

Related Posts