profaim  >  関連技術  >  言語・環境  >  Excel関数  >  目的別  >  セル書式に依存しないISNUMBER関数

セルの書式設定に影響を受けない ISNUMBER関数 の使い方

記載日:2019/6/14
Microsoft Excel for Mac 2016 ISNUMBER関数 Mac OS X

ISNUMBER関数を使ってセルの書式設定の影響を受けずにセルが数値かどうかを調べる方法

Excel関数 ISNUMBER

ISNUMBER関数を使うと、セルに入力された値が数値か否かを判定することができます。

ただし、単純にISNUMBER関数を使うだけだと困ったことが起こります。数字を入力したセルの書式が文字列書式になっていると、ISNUMBER関数はFALSE(数字ではない)という結果を返してくるからです。(下表のC列とD列の結果を参照。E列以降は順次説明していきます。)

ISNUMBERの挙動(画像)

値が数値かどうか判断する際に、Excelの書式が文字か数字かが重要になるケースはまずないと思うのですが、なぜこの様な仕様になっているのでしょうか。

文字を数値と見なす VALUE関数と組み合わせて使用することで、ISNUMBERは書式に影響されなくなる。

VALUE関数

VALUE関数を使うと、セルの値を数値として利用することができます。先ほどの表のE列とC列の結果を見ると、VALUE関数の結果はセルの書式に係わらず数字が入っていれば数値と評価されていることが分かります。VALUE関数で文字列を評価すると"#VALUE!"というエラー表示になります。

ISNUMBER関数 + VALUE関数

数値かどうかを評価したい値を、ISNUMBER関数を通す前にVALUE関数を通すことで、書式によらず純粋に値が数値であるか評価することができます。

ISNUMBER関数は、セルが数値であればTRUEを返し、それ以外ではFALSEを返す仕様になっています。 そのため、"#VALUE!"を渡してもFALSEとなるので、 ISNUMBER関数にVALUE関数の結果をそのまま渡すことができます。

以下が、A1セルの値が、セルの書式によらず数値かどうか評価する関数です。

=ISNUMBER(VALUE(A1))

これで、書式が「標準」「数値」「文字列」に関係なく、セルの値が数字であれば数字と判断できます。




  Excel関数  
目的別
セル書式に依存しないISNUMBER関数
マイナスを0として扱う

PR
検索
カスタム検索