情報

数値か判断するISNUMBER関数、数式か判断するISFORMULA関数

ISNUMBER/ISFORMULA関数

Googleスプレッドシートで数値データかを調べる時は、ISNUMBER関数を使用します。
また、セルに数式が入力されているか判断するにはISFORMULA関数を使用します。

この2つの関数はどちらも結果にTRUEかFALSEが表示されます。

  • ISNUMBER関数:数字のときTRUE、数字以外ならFALSE
  • ISFORMULA関数:数式のときTRUE、数式以外ならFALSE

単体で使用することは少なく、IF関数と組み合わせて結果を分けたり、条件付き書式で数字や数式の時のみセルの色や文字の色を変えて使用することがあります。

スプレッドシートで数値かそれ以外かを判断する

Sample

A列の値が数値データかどうか判断する

ISNUMBER/ISFORMULA関数(完成例)

ISNUMBER関数の使い方

A列の値が数字か数字以外かを判断するには以下のような数式を入力します。

ISNUMBER関数は、数値データかどうかを判断する関数のため、
数値の場合は「TRUE」、数値以外なら「FALSE」が表示されます。

1. 判断結果を表示させたいセルを選択します。
(今回はセルB2)

2. =ISNUMBER(A2) と入力します。

ISNUMBER関数の使い方

=ISNUMBER(A2)

2行目は「TRUE」なので数字、
3行目は「FALSE」なので数字ではないと判断ができます。

ISFORMULA関数の使い方

ISFORMULA関数は、数式か数式以外かを判断する関数のため、
数式が入力されていれば「TRUE」、数式以外なら「FALSE」が表示されます。

ISFORMULA関数の使い方

=ISFORMULA(A2)

2行目は「TRUE」なので数式、
3行目は「FALSE」なので数式ではないと判断ができます。

IF関数と組み合わせて任意のテキストで結果を表示する

スプレッドシートには、判断する関数がたくさんありますが、これらは単体で使用するより、IF関数と組み合わせて利用すると便利です。

単体で使用すると結果は「TRUE」か「FALSE」の表示ですが、IF関数などを組み合わせることで、結果を「数字」「数字以外」という任意のテキストで別のセルに表示することができます。

ISNUMBER関数の使い方(IF関数との組み合わせ)

=IF(ISNUMBER(A2)=true,"数字","数字以外")

数式が入力されているセルに色をつけて目立たせる

条件付き書式で数式が入力されているセルに色をつける

条件付き書式の中でISFORMULA関数(ISNUMBER関数)を使用することで、値が数式(数字)の時だけセル色や文字色を変えることができます。

ISNUMBER関数の使い方(条件付き書式で数式のセルの色を変更)

1. 設定したいセル範囲を選択し、 
表示形式メニュー » 条件付き書式をクリックすると画面右に設定する画面が表示されます。

ISNUMBER関数の使い方(条件付き書式で数式のセルの色を変更)

2. 画面右に表示される設定画面から、
単一色タブ » セルの書式設定の条件 » カスタム数式をクリックし、以下のような数式を入力します。

ISNUMBER関数の使い方(条件付き書式で数式のセルの色を変更)

=ISFORMULA(A1)=true

上記の数式以外にも
「=ISFORMULA(A1)」
のように「=true」を省略することもできます。

3. 色などを設定します。

ISNUMBER関数の使い方(条件付き書式で数式のセルの色を変更)

4. 数式が入力されているセルのみセルの色が変わりました。

ISNUMBER関数の使い方(条件付き書式で数式のセルの色を変更)

他にも、行全体の色を変えたり、条件付き書式はさまざまな設定ができる便利な機能です。

Googleスプレッドシートの条件付き書式
条件付き書式で色分けする方法【図解】条件に一致するセルに色を付けたり、行全体に色を付けたりできるGoogleスプレッドシートの条件付き書式。完全一致の条件以外にもカスタム数式の設定方法、解除方法など初心者にもわかりやすく解説します。...

補足:セルに数式を表示する

数式セルを確認したい時は、条件付き書式以外にも、スプレッドシートのメニューから使える「数式を表示」機能を使用することでも確認ができます。

補足:数式を表示する方法
数式を表示
セルに数式を表示する(数式をテキストで表示)Googleスプレッドシートのセルに入力されている数式を、テキストとして表示する方法を解説。「=」をセルに表示したい時、数式として認識されるため入力できませんが、「=」を文字として表示させることができます。...

数式が正しいのに計算でエラーになる

セルに入力されている値が数字として認識されているか確認する

数字が入力されているセルを使用して計算した時に、計算式は正しいはずなのにエラーになってしまう、、、それはスプレッドシートに数値として認識されていない可能性があります。

スプレッドシートにはセルの表示形式という設定があり、入力された数字の見た目を設定で変更することができます。

  • 数字に見えるが設定上「文字列」として扱う
  • 文字に見えるけど「数字」として扱うことができる(例:日付や曜日など)

例えばセルに「10」と数字で入力し、見た目の表示を「10時間」と単位を付けて表示ができます。
見た目は単位が付いているため文字列に見えますが、セルに入力されている内容は「10」という数字であり、このセルを使用して計算することができます。

セルに「10時間」と入力すると、文字列として認識されるため、セルを使って計算することができません。

ISNUMBER関数の使い方

上記の例では、「TRUE」と表示されているものは数字として認識されており、「FALSE」は数字ではないと認識されています。
そのため、数字(TRUE)として認識されているものはセルを使って計算できますが、数字として認識されないセルは計算に使用するとエラーが出ます。

5行目と6行目はまったく同じに見えます。
これも同じ数字を入力しても表示形式で「文字列」にしてしまうと数字扱いではなくなってしまうため、このセルを使用して計算ができません。

全角数字も、数字に見えますがこれも数字として認識されないため注意してください。

スプレッドシートのISNUMBER関数、ISFORMULA関数の構文

スプレッドシートのISNUMBER関数、ISFORMULA関数は以下のように入力します。

=ISNUMBER(値)
=ISFORMULA(値)
引数説明
対象となる値を入力するかセルを選択。