更新日:、 作成日:

エクセル ISNUMBER 関数:セルの値が数値か判定する

はじめに

エクセルの ISNUMBER 関数の使い方を紹介します。

ISNUMBER 関数はセルの値や数式が数値か判定します。数値や日付なら TRUE を返します。

=ISNUMBER(A1) のようにして、セルが数値や日付なら TRUE になります。

=IF(ISNUMBER(A1),"数値",A1) のようにして、数値や日付のときに 数値 を表示できます。

LEFT 関数」など関数の結果が数字か判定できます。

文字列か判定するには「ISTEXT 関数」を使用します。

ISNUMBER 関数の引数

ISNUMBER()
が数値や日付のときに TRUE を返します。それ以外のときは FALSE を返します。

引数「値」数値、文字列、セル参照、関数などを指定できます。スピル化

スピル化:セルの範囲や配列を指定すると結果が「スピル」します。

使い方

ISNUMBER 関数の使い方を紹介します。

数値や日付か判定する

セル「B3」が数値か判定します。日付の実際の値は数値なので数値として判定されます。

=ISNUMBER(B3)
6

数値や日付以外か判定する

セル「B3」が数値以外か判定します。「NOT 関数」を使用して結果を反転できます。

=NOT(ISNUMBER(B3))
=ISNUMBER(B4)
10

値が数値や日付か判定する

引数「値」に数値や文字列を直接入力して判定します。数値や日付以外はすべて FALSE になります。

=ISNUMBER(10)
=ISNUMBER(-10)
=ISNUMBER(DATE(2000,1,1))
=ISNUMBER(TRUE)
=ISNUMBER("1")
7

関数の結果が数値か判定する

LEFT 関数」などの文字列を取得する関数の結果が数値か判定します。文字列の数字は数値ではないので FALSE になります。数字を数値に変換するには「VALUE 関数」を使用します。

=LEFT(B2,3)
=VALUE(LEFT(B6,3))
=ISNUMBER(C3)
8

高度な使い方

ISNUMBER 関数と他の関数を組み合わせた使い方などを紹介します。

IF 関数で数値や日付を条件にする

IF 関数」の条件に ISNUMBER 関数を入力して、数値や日付のときに 数値 を表示します。それ以外のときはその数式の結果を表示します。

=IF(ISNUMBER(B3),"数値",B3)

LET 関数」を使用できるバージョンなら次のように入力できます。

=LET(数式,B4,
IF(ISNUMBER(数式),"数値",数式))
9

解説

引数「値」が数値なら TRUE を返します。

日付の実際の値は数値なので、日付なら TRUE を返します。

引数「値」がそれ以外の値なら FALSE を返します。

'10 のような先頭に ' を付けた値や「LEFT 関数」など文字列を取得する関数の結果がすべて数字でも、それは文字列なので FALSE を返します。

"1"TRUE など、数値に変換できる値でも FALSE になります。

isvalue
文字列かどうかや空白など、特定の値を条件にする方法は「COUNTIF 関数」にまとめています。