【Excel VBA】IsNumber関数とIsNumeric関数の違い

IsNumberはExcelの関数、IsNumeric関数はVBAの関数です。

Microsoftのホームページを調べると下記のような説明になっています。

IsNumberテストの対象が数値を参照するとき TRUE を返します。
IsNumeric数値として認識される場合は True を返し、それ以外の場合は False 

IsNumericの“数値として認識される“と言う文言に不安を覚えますが…

下記の数値や文字が二つの関数でどのような違いが出るか調べてみます。
3番目の何も書いてないところは空欄を示しています。

コードは簡単に下記のように書いて調べました。

結果は下記の通りです。

赤枠で囲ったところが違いのあったところです。

気を付けなければならない点は、IsNumericの空欄をTrueととってしまうことだと思います。
データが空欄と数値が混じっている場合、IsNumericを使用すると正しい結果を出すことはできない可能性があります。

使用するデータに応じて、使い分けをした方が良いかもしれません。

お気を付けください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA