ExcelのISNUMBER関数の使い方|特定の文字列を含むか判定する方法(SEARCH/FIND)も解説
ExcelのISNUMBER関数は、指定したセルの値が数値かどうかを判定する関数です。単独で使うだけでなく、SEARCH関数やFIND関数と組み合わせて「特定の文字列を含むか」を判定する使い方がとても便利で、実務で多用されます。
この記事では、ISNUMBER関数の基本の使い方から、文字列を含むかの判定、IF関数や条件付き書式との組み合わせ、他のIS関数との違い、よくある注意点まで、具体例つきでわかりやすく解説します。Googleスプレッドシートでも同じように使えます。
ISNUMBER関数とは?(読み方・できること)
ISNUMBER関数(読み方:イズナンバー)は、指定したセルや数式の値が数値であれば TRUE、数値でなければ FALSE を返す関数です。「IS(〜である)+ NUMBER(数値)」で、文字どおり「数値かどうか」を調べます。
データの種類を確認したり、数値かどうかで処理を分けたいときに役立ちます。
ISNUMBER関数の構文と引数
=ISNUMBER(値)
| 引数 | 説明 |
|---|---|
| 値 (必須) |
数値かどうかを判定したいセル、または数式を指定します。 |
結果は必ず TRUE または FALSE のどちらかになります。エラーにはならず、数値以外なら静かに FALSE を返すのが特徴です。
ISNUMBER関数の判定例
どんな値が TRUE / FALSE になるのか、代表的な例を確認しましょう。日付や時刻もExcel内部では数値(シリアル値)として扱われるため TRUE になる点に注意してください。
| セルの内容 | 数式 | 結果 |
|---|---|---|
| 123 | =ISNUMBER(A1) | TRUE |
| -5.8 | =ISNUMBER(A2) | TRUE |
| 2026/6/14(日付) | =ISNUMBER(A3) | TRUE(シリアル値のため) |
| ABC(文字列) | =ISNUMBER(A4) | FALSE |
| “123”(文字列の数字) | =ISNUMBER(A5) | FALSE |
| 空白セル | =ISNUMBER(A6) | FALSE |
「見た目は数字でも、文字列として入力された値は FALSE になる」ため、データの不備チェックにも使えます。
IF関数と組み合わせて処理を分ける
ISNUMBER関数は単独だと TRUE / FALSE を返すだけですが、IF関数と組み合わせると、数値かどうかで表示や計算を切り替えられます。
=IF(ISNUMBER(A2), A2*2, "数値以外")
セルA2が数値ならその値を2倍にし、数値でなければ「数値以外」と表示します。入力チェックにも応用できます。
=IF(ISNUMBER(A1), "入力済み", "数値を入力してください")
【重要】ISNUMBER+SEARCHで「特定の文字列を含むか」判定する
ISNUMBER関数のもっとも実用的な使い方が、SEARCH関数と組み合わせて「セルに特定の文字(キーワード)が含まれているか」を判定する方法です。
=ISNUMBER(SEARCH("東京", A1))
仕組みはこうです。SEARCH関数は文字列が見つかると「その位置(数値)」を返し、見つからないと #VALUE! エラーを返します。これをISNUMBERで包むと、含む→TRUE/含まない→FALSE に変換できます。
| セルA1の内容 | =ISNUMBER(SEARCH(“東京”, A1)) |
|---|---|
| 東京都新宿区 | TRUE(「東京」を含む) |
| 大阪府大阪市 | FALSE(含まない) |
IF関数と組み合わせれば、「含む場合だけ印をつける」といった処理ができます。
=IF(ISNUMBER(SEARCH("東京", A1)), "対象", "")
大文字・小文字を区別したいときはFINDを使う
SEARCHは大文字・小文字を区別しませんが、FIND関数に置き換えると区別して判定できます。
=ISNUMBER(FIND("Apple", A1)) … 「Apple」と完全に一致する大文字小文字のみTRUE
条件付き書式で「特定の文字を含む行」に色を付ける
この組み合わせは条件付き書式とも相性抜群です。ルールに数式 =ISNUMBER(SEARCH("キーワード", $A1)) を設定すると、特定の文字を含むセルや行を自動で色分けできます。大量のデータから該当データを一目で見つけられるようになります。
検索関数(VLOOKUP・MATCH)との組み合わせ
VLOOKUPやMATCHの結果をISNUMBERで包むと、「検索値が見つかったか」を TRUE / FALSE で確認できます。
=ISNUMBER(MATCH(A1, B1:B10, 0)) … A1がリストB1:B10に存在すればTRUE
他のIS関数との違い
Excelには値の種類を調べるIS関数がいくつかあります。目的に応じて使い分けましょう。
| 関数 | TRUEになる条件 |
|---|---|
| ISNUMBER | 値が数値(日付・時刻も含む)のとき |
| ISTEXT | 値が文字列のとき |
| ISBLANK | セルが空白のとき |
| ISERROR | 値がエラー(#VALUE! など)のとき |
GoogleスプレッドシートでもISNUMBERは使える
ISNUMBER関数はExcel専用ではなく、Googleスプレッドシートでも同じ書き方で使えます。=ISNUMBER(SEARCH("文字", A1)) による「含むか判定」もそのまま利用できます。
よくある注意点
- 日付・時刻はTRUEになる … 内部的に数値(シリアル値)のため。日付だけを除きたい場合は別途判定が必要です。
- 文字列の数字(”123″)はFALSE … 見た目が数字でも、文字列として入力された値は数値とみなされません。
- ISNUMBER自体はエラーを出さない … 数値以外やエラー値を渡しても、エラーにはならず FALSE を返します。
よくある質問(FAQ)
Q. セルが特定の文字を含むか調べるには?
A. =ISNUMBER(SEARCH("調べたい文字", 対象セル)) を使います。含めばTRUE、含まなければFALSEになります。
Q. ISNUMBERとISTEXTの違いは?
A. ISNUMBERは「数値かどうか」、ISTEXTは「文字列かどうか」を判定します。逆の関係と考えるとわかりやすいです。
Q. 日付を数値と判定したくない場合は?
A. 日付もISNUMBERではTRUEになります。日付を区別したい場合はISNUMBERだけでなく、セルの表示形式やほかの関数と組み合わせて判定します。
関連する関数
- SEARCH関数 … 文字列の位置を調べる。ISNUMBERと組み合わせて「含むか判定」。
- FIND関数 … 大文字・小文字を区別して文字列を検索。
- ISTEXT関数 … 値が文字列かどうかを判定。
- ISBLANK関数 … セルが空白かどうかを判定。
- IF関数 … 判定結果で処理を分ける。
まとめ
ExcelのISNUMBER関数は、=ISNUMBER(値) で値が数値かどうかを TRUE / FALSE で判定する関数です。
- 数値なら TRUE、文字列・空白なら FALSE(日付・時刻もTRUEになる点に注意)
- =ISNUMBER(SEARCH(“文字”, セル)) で「特定の文字を含むか」判定できる(最重要の使い方)
- 大文字小文字を区別するならFINDを使う
- IF関数・条件付き書式・検索関数と組み合わせて幅広く応用できる
- Googleスプレッドシートでも同じ数式で使える
ISNUMBER関数を活用して、データ検証や文字列の判定を効率化しましょう。