Excel VBAで値が数値であるかどうかチェックする:IsNumeric

VBAである文字列を数値に変換できるかどうか調べるには、IsNumeric関数を使用します。

IsNumeric関数の使用法

構文は下記です。

引数は1つのみです。戻り値は、True(真)またはFalse(偽)で、引数が数値に変換できる場合はTrue、そうでない場合はFalseを返します。また、引数が日付式だと、Falseを返します。

さまざまな形の値にIsNumeric関数を使用した結果を下記に示します。

[実行結果]IsNumeric1

結果から、IsNumeric関数は、全角半角に関わらず、数値と見なせるものにはTrueの判定をすることがわかります。文字が含まれているものは、数値とは見なされません。

使用例

IsNumeric関数はそれ単体で使用することはあまりなく、True/Falseを返す性質を利用し、その結果に応じて処理を分岐させるような場合によく使われます。

下記サンプルをご覧ください。If~Elseを用いて、A列に入力されている値に対し、数値なら50を加算し隣接セルに出力、文字の場合は何もしません。

[実行結果]IsNumeric3

応用例(1文字ずつ調べる)

下記例は、"〇〇町3丁目14番地305-2"に対し、Mid関数を用いて左から1文字ずつ調べてゆき、数値であれば"X"に変換します。

[実行結果]IsNumeric4


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて

UX MILKのディレクター募集