・数値と文字列を正しく判別する関数を使ってIF関数の弱点対策
・ISNUMBER関数とIF関数の組み合わせた使い方
練習用サンプルデータ(ダウンロード)
※Excelは練習用(問題)と成果物(解答)の2種類あります。閲覧したい方はダウンロードして下さい。
IF関数には、弱点があります。IF関数の論理式の中で「C2<40」といった数式の場合、セルC2が数値であれば正しく計算されますが、文字列が入力されると、すべて「正しい」という結果が返ってしまいます。このような困った事態をカバーする為、ISNUMBER関数があります。引数の値が数値であるかどうかを判別することができます。
(練習で実施する「IF関数の弱点対策」の完成図)
練習サンプルデータは、ダウンロードファイルのシート「練習用」となります。
例題は、セルC2に文字列が入力されたら、D2は「要確認」と表示する問題
(D列には、あらかじめC列が40歳以上か40歳未満かを判別する数式が入っています。
セルD2=IF(C2<40,”40歳 未満”,”40歳 以上”)
40歳以上→「40歳 以上」と表示
40歳未満→「40歳 未満」と表示
この数式だとC列に、もし文字列が入力されると、40歳未満と表示されてしまう為、文字列が入力された場合は、「要確認」と表示するようにする。

上」と表示されてしまう状態

‘【1】ISNUMBER関数の公式
※サンプルデータは、シート「練習用」になります。
‘(1)ISNUMBER関数
対象のデータが数値かどうかを調べる関数です。 数値の場合は「TRUE」、数値以外の場合は「FALSE」を表示します。

この数式をIF関数と組みまわせてみましょう。
セルC2が40歳未満であれば、「40歳 未満」と返し、40歳以上であれば、「40歳 以上」を返します。そして数値以外のデータが入っていたら「要確認」と表示するようにします。
【2】ISNUMBER関数の使い方
‘①セルD2を選択し、
数式「=IF(ISNUMBER(C2),IF(C2<40,”40歳 未満”,”40歳 以上”),”要確認”)」を入力します。すると「要確認」の値が返ってきます。

ISNUMBER関数に、引数が日付の場合
日付は、シリアル値という数字ですので、「=ISNUMBER(2022/1/1)」は「TRUE」を返します。
【3】まとめ
ISNUMBERは、IF関数の弱点とする「数値」「文字列」の判別を補う関数としては、
便利な関数です。複数人でひとつのExcelを入力すると想定外の入力をされる可能性があります。そういった時に活用してみてはいかがでしょうか。






