Excel関数 逆引き集 | 数値かどうか判定 → ISNUMBER

Excel
スポンサーリンク

概要

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の判定を軸に安定した処理が組めます。

タイトルとURLをコピーしました