概要
ISNUMBERは「セルの中身が“数値”かどうか」をTRUE/FALSEで返す関数です。数値には小数、負数、日付・時刻、パーセンテージ、計算結果の数値が含まれます。見た目が数字でも文字列ならFALSEになります。データクリーニング、条件付き処理、検索の有無判定(SEARCHとの組み合わせ)に広く使われます。
基本の使い方
書式
=ISNUMBER(値)
値が数値ならTRUE、そうでなければFALSEを返します。
最小例
=ISNUMBER(A2)
A2が数値・日付・時刻・%などの数値型ならTRUE、文字列や空白、エラーならFALSEになります。
代表的な判定の挙動
=ISNUMBER(123) // TRUE
=ISNUMBER("123") // FALSE(文字列)
=ISNUMBER(DATE(2025,1,1)) // TRUE(日付は数値)
=ISNUMBER(0.75) // TRUE(%表示でも中身が数値ならTRUE)
=ISNUMBER(#N/A) // FALSE(エラーは数値ではない)
具体例
数値のみ抽出(Microsoft 365のFILTER)
範囲から数値セルだけを取り出します。
=FILTER(A2:A100, ISNUMBER(A2:A100))
ISNUMBERの結果(TRUE/FALSE)を条件に使い、数値だけの一覧を作れます。
数値なら計算、そうでなければ空欄
=IF(ISNUMBER(B2), B2*1.1, "")
B2が数値なら10%加算、数値でなければ空欄にします。
日付・時刻を数値として判定
=ISNUMBER(A2)
A2が日付や時刻ならTRUEになります(Excel内部では日付・時刻は数値)。
文字列の“数字”を数値化してから判定
=ISNUMBER(VALUE(A2))
A2が「”123″」のような文字列なら、VALUEで数値化してTRUEにできます。小数点や区切り記号のロケール問題がある場合はNUMBERVALUEが安全です。
=ISNUMBER(NUMBERVALUE(A2, ",", "."))
応用テンプレート
検索の有無判定(SEARCH+ISNUMBERの定番パターン)
文字列中にキーワードが含まれるかをTRUE/FALSEで判定します(見つかった位置は数値で返るため)。
=ISNUMBER(SEARCH("東京", A2))
見つかればTRUE、なければFALSE(SEARCHは見つからないとエラー→ISNUMBERはFALSE)。
数値だけ合計(非数値は無視)
=SUM(IF(ISNUMBER(B2:B100), B2:B100))
古いExcelでは配列数式(Ctrl+Shift+Enter)。Microsoft 365ならそのまま確定でOKです。
数値セルだけ平均
=AVERAGE(IF(ISNUMBER(B2:B100), B2:B100))
文字列やエラーを除外した平均が取れます。
条件付き書式で“数値でないセル”を強調
条件付き書式の数式に以下を設定して、書式を赤背景などにします。
=NOT(ISNUMBER(A2))
よくあるつまずきと対策
数値に見えるのにFALSEになる
原因は「数字が文字列で入力されている」ことが多いです。左寄せ、先頭や末尾の空白、全角数字、通貨記号混在などが典型です。VALUEやNUMBERVALUEで数値化してから使うと安定します。
=VALUE(TRIM(A2))
空白と空文字の扱い
空白セルや “”(空文字)はFALSEです。空欄を許容する処理ならIFで分岐します。
=IF(A2="", "", IF(ISNUMBER(A2), A2*1.1, ""))
エラー値が混在している
エラーはFALSEになります。検索判定でSEARCHを使う場合、IFERRORで先に保護すると扱いやすくなります。
=IFERROR(ISNUMBER(SEARCH("東京", A2)), FALSE)
ロケール(小数点・桁区切り)の違い
「1.234,56」のような欧州表記はVALUEでは正しく読めないことがあります。NUMBERVALUEで小数点と桁記号を明示してください。
=NUMBERVALUE(A2, ",", ".")
例題
問題1: A2が数値かどうかをB2に表示
解答例:
=ISNUMBER(A2)
問題2: B列から数値だけをC列に抽出(Microsoft 365)
解答例:
=FILTER(B2:B200, ISNUMBER(B2:B200))
問題3: C2が数値なら10%増にしてD2へ、数値でなければ空欄
解答例:
=IF(ISNUMBER(C2), C2*1.1, "")
問題4: A2に「東京」が含まれているかをTRUE/FALSEで判定してB2に表示
解答例:
=ISNUMBER(SEARCH("東京", A2))
問題5: 文字列の数字を数値化してから数値判定(「1.234,56」形式)
解答例:
=ISNUMBER(NUMBERVALUE(A2, ",", "."))
まとめ
ISNUMBERは「そのセルが数値か」を素早く判定できる基本関数です。数字の文字列やエラー、空欄が混在する現場データでは、VALUE/NUMBERVALUE、IFERROR、SEARCHとの組み合わせが実用的です。抽出・合計・平均・条件付き書式まで、TRUE/FALSEの判定を軸に安定した処理が組めます。
