(Gスプレッドシート)条件付き書式で「数字が入っていたら」にする方法

 Googleスプレッドシートの条件付き書式で、「セルに数字(数値)が入っていたら」という条件にする方法です。
 条件の「~以下」などで代用することも考えられますが、ここではカスタム数式を使って設定する方法を試してみます。

手順

 まずは最も基本的な例からです。
 対象範囲(ここではB2:B9)を選択して、上部のメニューから「表示形式」→「条件付き書式」と選択します。

 


 ウインドウの右側に設定が現れます。
 プルダウンから「以下」を選んで値を「10000000」など大きい値にすればたいていの場合は済むのですが、ここでは厳密に「数字(数値)であること」を条件とするためプルダウンから「カスタム数式」を選択して数式を次のように入力します。そして最後に書式を設定します(ここではデフォルトの緑色塗りつぶし)。

 数式欄の数式

=ISNUMBER(B2)

 
 値が数値かどうかを判定するISNUMBER関数を使っています。セルの値が数値であれば関数の結果はTRUEとなり書式が適用されます。数値でなければ関数の結果はFALSEとなり書式は適用されません。
 対象範囲のうち最も上(複数列の場合は左上)のセルであるB2を指定するのがポイントです。



 これで次のように数字(数値)に色が付きます。
 ただし文字列として記録されている数字には色が付かず、日付には色が付く点には注意してください。日付に色が付くのは日付が内部的に数値(シリアル値。例として2024/12/4は45631に相当)として記録されているためです。

日付や文字列の数字を対象から除く/含める例

 以降では、設定画面中の数式欄に入れる数式を変えて、日付を条件から除いたり文字列の数字を条件に含める例をみてみます。
 まずは条件を「日付を除いて純粋に数字(数値)だけ」とする例で、結果は次のようになります。

 これは設定画面(上記手順参照)中の数式欄の数式を次のようにすればOKです。

 数式欄の数式

=AND(ISNUMBER(B2),NOT(ISDATE(B2)))

 「数値であって、かつ日付ではない」という条件を表しています。
 ISDATE関数はExcelにはない関数で、値が日付をどうかを判定できる(結果はTRUE/FALSE)のでこのようなことが可能となります。NOT関数でTRUEとFALSEの結果を入れ替えている点にもご注意ください。
 なお、対象となっているセル(ここではB2セルなど)の表示形式を変えてしまうとISDATE関数の結果も変わってしまうので書式も変わってしまいます。この辺りはGoogleスプレッドシートの特徴です。



 次は、条件を「数字(数値)と文字列の数字」とする例です。
 結果と数式欄の数式は次のようになります。なお画像ではわかりませんが、全角数字には色は付きません。

 数式欄の数式

=AND(NOT(ISBLANK(B2)),ISNUMBER(VALUE(B2)),NOT(ISDATE(B2)))

 「空白セルでなく、かつ数値とみなすことができ、かつ日付でない」という条件を表しています。
 ISBLANK関数は値があるかどうかを判定する関数です(結果はTRUE/FALSE)。空白セルでないことを条件に含めないと空白セルにも色が付いてしまいます。
 VALUE関数は数値とみなせる文字列を数値に変換する関数です。これを使って文字列の(半角)数字を条件に含めています。



 最後に、条件を「数字(数値)と文字列の数字と日付」とする例です。
 結果と数式欄の数式は次のようになります。

 数式欄の数式

=AND(NOT(ISBLANK(B2)),ISNUMBER(VALUE(B2)))

 「空白セルでなく、かつ数値とみなすことができる」という条件を表しています。