エクセルやGoogleスプレッドシートをメンテナンスするときに、数式の入ったセルに色を付けたいことがあります。
特にGoogleスプレッドシートを配列で作成すると、どこに数式が入っているのか分かりにくくなってしまいます。
数式の入ったセルに手作業で色を塗る人もいますが、数式が追加されると手作業が増えますし、メンテナンス漏れも起きます。
なんとか自動で色を付けたいものです。
そんなときに威力を発揮するのが、
「isformula関数」と「条件付き書式」
の組み合わせです。
Googleスプレッドシートで解説しますが、エクセルでもやることは同じなので、ぜひ実際にやってみてください。
「is」のついた関数はたくさんありますが、私は「~ですか?」と訳しています。
「formula」というのは数式のことですから、「isformula」は「数式ですか?」と訳されることになります。
「数式ですか?」ときくと、スプレッドシートは「はい」か「いいえ」で答えてくれます。
「はい」のときは「TRUE」、「いいえ」のときは「FALSE」という値が返ってきます。
これは難しく考えず、そういうものだと思ってください。
すべてのセルで「数式ですか?」ときいて、「TRUE」と返してくれたセルに条件付き書式で色を塗れば完成です。
まず、数式の入ったスプレッドシートを用意します。
下の図ではB4セルに数式が入っています。
次にシート全体を選択します。
左上をクリックするとよいでしょう。
条件付き書式を起動します。 「書式ルール」の「セルの書式設定の条件」で「カスタム数式」をクリックします。 式にisformula関数を入力します。 「A1セルは数式ですか?」という式です。 この「A1」には絶対参照がついていませんから、最初に選んだ範囲に数式が適用されるとともに参照も変化することになります。 好きな色に変更して、完了ボタンを押せば完成です。 数式の入ったセルだけ色が付きました。 セルに「=」から始まる数式を入力すると、そのセルに色が付きます。 確認が終わったら色を消したいけど、また確認するときのために条件付き書式は削除したくない、ということがあります。 そんなとき私はこんな方法を使っています。 どこかのセルに「数式on」と入力します。 このとき入力規則を設定しておくと分かりやすいです。 今回はA1セルに入力します。 AND関数を使って条件付き書式の式に「A1セルが空白ではない」という条件を付け加えます。 ここには絶対参照をつけるので注意してください。=isformula(a1)
色をオンオフするアイデア
=and(isformula(A1),$A$1<>"")
このようにしておけばA1セルを切り替えるだけで、数式の入ったセルに色を付けたり消したりすることができます。