- 公開日:
- 更新日:
ExcelのISNUMBER関数の使い方|セルの値が数値か判定する
この記事では、ExcelのISNUMBER関数の使い方についてご紹介します。
ISNUMBER関数は、ISNUMBER関数だけで使う機会は少なく他の関数と組み合わせることで幅広く活用できる関数です。
ぜひ使い方を覚えて、Excelをもっと便利に使っていきましょう。
ISNUMBER関数とは?
ISNUMBER(イズナンバー)関数とは、対象のデータが数値かどうかを調べる関数です。
数値の場合は「TRUE」、数値以外の場合は「FALSE」を表示します。

例えば上の画像では、C3セルに入力したISNUMBER関数でB3セルのデータが数値かどうかを判定しています。
B3セルの「2」は数値なのでC3セルには「TRUE」と表示されています。
ISNUMBER関数の用法
ISNUMBER関数の用法については、以下のような例があります。
- リスト内のデータが数値かどうかを判定する
- IF関数と組み合わせて、複数セルのデータがすべて数値なら「OK」と表示するように設定する
- MATCH関数と組み合わせて、カレンダーの祝日を自動的に色分けするように設定する
ISNUMBER関数の書式
まずは、ISNUMBER関数の書式を確認していきましょう。

ISNUMBER関数の書式は「=ISNUMBER(テストの対象)」のように記述し、「テストの対象」の引数としてデータが入力されたセルを「セル番地」で設定します。
※引数(ひきすう)とは、Excelの関数を使用する際に必要な情報です。関数が結果を返すための判断材料とイメージしましょう。関数名の後の括弧「()」内に入力します。
ISNUMBER関数の使い方
ISNUMBER関数の使い方について、ご紹介いたします。
基本的な操作方法
ISNUMBER関数を使って、対象のセル内のデータが数値かどうか判定する方法についてご紹介します。

エクセルファイルを開き、上の画像のような表を準備しましょう。まずは、ISNUMBER関数を入力します。【任意のセル(例:C3)】を選択し、『=ISNUMBER(』と入力します。

テストの対象の引数を設定します。B3セルのデータが数値かどうかを判定したいので「=ISNUMBER(」に続けて『B3)』と入力し、【Enter】キーを押します。

ISNUMBER関数で判定した結果が出ます。B3セルのデータは数値の「2」なのでC3セルには「TRUE」と表示されました。
複数セルのいずれかが数値ならTRUEを返す
ISNUMBER関数では、複数セルを対象に「いずれかのデータが数値であればTRUEを返す」という判定が出来ます。
設定方法は、以下の通りです。

エクセルファイルを開き、上の画像のような表を用意します。
まずは、ISNUMBER関数を入力します。
【任意のセル(例:D3)】を選択し、『=ISNUMBER(』と入力します。

数値かどうか判定したい複数セルを、テストの対象の引数として設定します。
「=ISNUMBER(」に続いて『B3:B4)』と入力し、Shift+Ctrl+Enterを押します。

これで数式が完成し、結果が表示されました。
今回は、数値の「2」が入力されたセルと、文字列の「2月」が入力されたセルをテストの対象の引数として設定したのでD3セルを見ると「TRUE」が表示されています。
これでISNUMBER関数を使って、複数セルのいずれかが数値ならTRUEを表示するように設定することが出来ました。
複数セルの全てが数値ならTRUEを返す
ISNUMBER関数とAND関数を組み合わせると、複数セルの全てが数値の場合にTRUEを表示するという設定ができます。
AND関数の詳細については、以下の記事をご参照ください。
ExcelのAND関数の使い方|すべての条件が成立するときTRUEを返す
ISNUMBER関数とAND関数を組み合わせる方法は、以下の通りです。

エクセルファイルを開き、上の画像のような表を用意します。
まずは、AND関数を入力します。
AND関数の書式は「=AND(論理式1,[論理式2],…)」です。
【任意のセル(例:D3)】を選択し、『=AND(』と入力します。

次に、ISNUMBER関数を入力します。
「=AND(」に続いて『ISNUMBER(B3:B4))』と入力し、Shift+Ctrl+Enterを押します。

これで数式が完成しました。
試しにB4セルに数値である『2』と入力し、Enterを押します。

B3セルとB4セルのデータがどちらも数値になったため、D3セルの表示がTRUEになりました。
これでISNUMBER関数とAND関数を組み合わせて、複数セルの全てが数値の場合にTRUEを表示するという設定が出来ました。
複数セルの全てが数値なら1を返す
ISNUMBER関数とIF関数とAND関数を組み合わせると、複数セルの全てが数値の場合に「1」と表示するように設定することが出来ます。
IF関数の詳細については、以下の記事をご参照ください。
ExcelのIF関数の使い方|論理式の条件(IF文)によって処理を分岐
AND関数についての詳細は、以下の記事をご参照ください。
ExcelのAND関数の使い方|すべての条件が成立するときTRUEを返す
ISNUMBER関数とIF関数とAND関数を組み合わせる方法は以下の通りです。

エクセルファイルを開き、上の画像のような表を用意します。
まずは、IF関数を入力します。
IF関数の書式は、「=IF(論理式,[値が真の場合],[値が偽の場合])」です。
【任意のセル(例:D3)】を選択し、『=IF(』と入力します。

次に、AND関数を入力します。
AND関数の書式は「=AND(論理式1,[論理式2],…)」です。
「=IF(」に続いて『AND(』と入力します。

次に、ISNUMBER関数を入力します。
「AND(」に続いて『ISNUMBER(B3:B4)),』と入力します。

「1」を表示したいのでIF関数の真の場合の引数として、「1」を設定します。
「ISNUMBER(B3:B4)),」に続けて『"1")』と入力し、Enterを押します。

これで数式が完成しました。
試しにB4セルに数値である『2』と入力し、Enterを押します。

B3セルとB4セルのデータがどちらも数値になったため、D3セルの表示が「1」になりました。
これでISNUMBER関数とIF関数とAND関数を組み合わせて、複数セルの全てが数値の場合に「1」を表示するという設定ができました。
複数セルの全てが数値ならOKと表示する
ISNUMBER関数とIF関数とAND関数を組み合わせると、複数セルの全てが数値の場合に「OK」と表示するように設定することが出来ます。
ISNUMBER関数とIF関数とAND関数を組み合わせる方法は以下の通りです。

エクセルファイルを開き、上の画像のような表を用意します。
まずは、IF関数を入力します。
IF関数の書式は、「=IF(論理式,[値が真の場合],[値が偽の場合])」です。
【任意のセル(例:D3)】を選択し、『=IF(』と入力します。

次に、AND関数を入力します。
AND関数の書式は「=AND(論理式1,[論理式2],…)」です。
「=IF(」に続いて『AND(』と入力します。

次に、ISNUMBER関数を入力します。
「AND(」に続いて『ISNUMBER(B3:B4)),』と入力します。

「OK」を表示したいのでIF関数の真の場合の引数として、「OK」を設定します。
「ISNUMBER(B3:B4)),」に続けて『"OK")』と入力し、Enterを押します。

これで数式が完成しました。
試しにB4セルに数値である『2』と入力し、Enterを押します。

B3セルとB4セルのデータがどちらも数値になったため、D3セルの表示が「OK」になりました。
これでISNUMBER関数とIF関数とAND関数を組み合わせて、複数セルの全てが数値の場合に「OK」を表示するという設定ができました。
他の関数と組み合わせる
ISNUMBER関数を、他の関数と組み合わせて活用する方法についてご紹介します。
ISNUMBER関数×IF関数×FIND関数
ISNUMBER関数とIF関数とFIND関数を組み合わせると、リスト内に特定の文字があるかどうかを判定する表を作成することが出来ます。
FIND関数は、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数えその番号を返す関数です。

例えば、上の画像ではC列にISNUMBER関数とIF関数とFIND関数を組み合わせた数式を入力して、「りんご」というデータがB列のリストの中にあるかどうかを判定し、「りんご」があれば「有」、なければ「無」を表示しています。
今回は、上の画像を作成する方法を例に挙げて、ISNUMBER関数とIF関数とFIND関数を組み合わせる方法についてご説明します。

エクセルファイルを開き、上の画像のような表を準備しましょう。
まずは、IF関数を入力します。
IF関数の書式は、「=IF(論理式,[値が真の場合],[値が偽の場合])」です。
【任意のセル(例:C3)】を選択し、『=IF(』と入力します。

次に、ISNUMBER関数を入力します。
「=IF(」に続いて『ISNUMBER(』と入力します。

次に、FIND関数を入力します。
FIND関数の書式は、「=FIND(検索文字列,対象,[開始位置])」です。
「ISNUMBER(」に続いて『FIND(B3,$E$3)),』と入力します。
この場合の「FIND(B3,$E$3)」は、「B列に入力されたデータに、E3セルと同じデータがあるかどうか検索する」という意味の数式です。

最後に、IF関数の真の場合と偽の場合の引数を入力します。
「FIND(B3,$E$3)),」に続いて『"有","無")』と入力し、Enterを押します。

数式をオートフィルでコピーします。
【関数が入ったセル(例:C3)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向へ【ドラッグ】します。

これでISNUMBER関数とIF関数とFIND関数を組み合わせた数式を使って、「りんご」というデータがあれば「有」、なければ「無」と表示する表を作成することが出来ました。
ISNUMBER関数×IF関数×AND関数

ISNUMBER関数とIF関数とAND関数を組み合わせると、複数セルの全てが数値の場合に「1」と表示するように設定することが出来ます。
ISNUMBER関数とIF関数とAND関数を組み合わせる方法については、上記「複数セルの全てが数値なら1を返す」セクションをご参照ください。
ISNUMBER関数×IF関数×SEARCH関数
ISNUMBER関数とIF関数とSEARCH関数を組み合わせると、リスト内に特定の文字があるかどうかを判定する表を作成することが出来ます。
SEARCH関数は、指定された文字列を他の文字列の中で検索し、その文字列が先頭から何文字目にあるかを数えその番号を返す関数です。

例えば、上の画像ではC列にISNUMBER関数とIF関数とSEARCH関数を組み合わせた数式を入力して、「りんご」というデータがB列のリストの中にあるかどうかを判定し、「りんご」があれば「有」、なければ「無」を表示しています。
ISNUMBER関数とIF関数とSEARCH関数を組み合わせる方法については、以下の通りです。

エクセルファイルを開き、上の画像のような表を準備しましょう。
まずは、IF関数を入力します。
IF関数の書式は、「=IF(論理式,[値が真の場合],[値が偽の場合])」です。
【任意のセル(例:C3)】を選択し、『=IF(』と入力します。

次に、ISNUMBER関数を入力します。
「=IF(」に続いて『ISNUMBER(』と入力します。

次に、SEARCH関数を入力します。
SEARCH関数の書式は、「=SEARCH(検索文字列,対象,[開始位置])」です。
「ISNUMBER(」に続いて『SEARCH(B3,$E$3)),』と入力します。
この場合の「SEARCH(B3,$E$3)」は、「B列に入力されたデータに、E3セルと同じデータがあるかどうか検索する」という意味の数式です。

最後に、IF関数の真の場合と偽の場合の引数を入力します。
「SEARCH(B3,$E$3)),」に続いて『"有","無")』と入力し、Enterを押します。

数式をオートフィルでコピーします。
【関数が入ったセル(例:C3)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向へ【ドラッグ】します。

これでISNUMBER関数とIF関数とSEARCH関数を組み合わせた数式を使って、「りんご」というデータがあれば「有」、なければ「無」と表示する表を作成することが出来ました。
ISNUMBER関数×MATCH関数
ISNUMBER関数とMATCH関数を組み合わせることで、祝日を色分けして表示できるカレンダーを作成できます。
MATCH関数の詳細については、以下の記事をご参照ください。
ExcelのMATCH関数の使い方|検索値の範囲内での相対的な位置を返す

上の画像のカレンダーではISNUMBER関数とMATCH関数と条件付き書式を使って、カレンダーの日付に祝日リストの日付と合うものがあれば、日付が入力されたセルの背景を自動的に塗りつぶすように設定されています。
設定方法は以下の通りです。

エクセルファイルを開き、上の画像のような表と祝日リストを準備します。
まずは、ISNUMBER関数を入力します。
【任意のセル(例:D4)】を選択し、『=ISNUMBER(』と入力します。

次に、MATCH関数を入力します。
MATCH関数の書式は、「=MATCH(検査値,検索範囲,[照合の種類])」です。
「=ISNUMBER(」に続いて『MATCH(B4,$G$4:$G$19,0))』と入力し、Enterを押します。

数式をオートフィルでコピーします。
【関数が入ったセル(例:D4)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向へ【ドラッグ】します。

数式がD列のセルにコピーされて、祝日のみ「TRUE」が表示されました。
次はこの「TRUE/FALSE」の表示を利用して、祝日のみ色分けするための条件付き書式を設定します。
①【セル背景を塗りつぶしたい任意のセル(例:B4セルからB34セル)】を選択します。
②【ホーム】タブ、③【条件付き書式】、④【新しいルール】の順に選択します。

「新しい書式ルール」ダイアログボックスが表示されました。
①【数式を使用して、書式設定するセルを決定】を選択し、②「次の数式を満たす場合に値を書式設定」に『=D4=TRUE』と入力し、③【書式】ボタンを押します。

「セルの書式設定」ダイアログボックスが表示されました。
①【塗りつぶし】タブを選択します。
②「背景色」で【任意の色(例:赤)】を選択し、③【OK】ボタンを押します。

「新しい書式ルール」ダイアログボックスに戻ります。
【OK】ボタンを押します。

これで、ISNUMBER関数とMATCH関数を組み合わせて祝日を色分けして表示できるカレンダーを作成することができました。
VBA/VB.NETのISNUMBER関数について
VBA/VB.NETには「ISNUMBER関数」という名前の関数はありません。
代わりに、ISNUMBER関数と同じように入力されたデータが数値かどうかを判定できる「IsNumeric(イズニューメリック)関数」があります。
構文はVBA/VB.NETともに「IsNumeric(値)」です。
ISNUMBER関数とIsNumeric関数では数値かどうかの判定基準が違い、IsNumeric関数は「数値に変換できるもの」を全て数値とみなします。
例えば「"1"」はISNUMBER関数では「文字列」になりますが、IsNumeric関数では「数値」になります。