2019/7/23
本記事の内容が古くなってきたので、最新のUIや機能にあわせて記事をリライトしました!
スプレッドシートの条件付き書式で行全体に色付けをする(2019年版)
Googleアカウント([email protected]など)さえ持っていれば無料で利用できる、Excelと同等か、それ以上の機能を持つGoogleスプレッドシート。このスプレッドシートを使ってタスク管理をしている方も多いでしょう。今回は、このスプレッドシートで、あるセルの値が変更されたら、そのセルを含む行全体の背景色や文字色を変更する方法をご紹介します。Google Apps Script(スプレッドシートなどにさまざまな機能を追加するプログラム)は不要です。
タスクボードのサンプルを確認
説明のためのサンプルのタスクボードを作りました。
仮で内容を埋めたので、AさんとBさんに怒涛の資料提出が行われるプロジェクトとなりました(笑)。
このシートで、H列の状況が「着手中」や「完了」に変わったら、その行全体に着色する、ということをやります。
スプレッドシートへの作業
まず、メニューから「表示形式」を探し、その中の「条件付き書式」をクリックします。
クリックして出てきたダイアログの中の、範囲に A:I
と入力します。
これで、A列からI列までのすべての行に対して着色を行うことができます。
また、着色したい範囲をあらかじめ選択した状態で条件付き書式を選択することで、初めから範囲が選択された状態でこのダイアログを開くこともできます。
範囲を入力したら、「次を含むテキスト」をクリックして、条件を指定します。条件の選択肢の中から、一番下の「カスタム数式」を選択します。
カスタム数式の右のテキストボックス内に、行を着色するための条件式を書いていきます。今回は「H列のどこかが完了だったら」「H列のどこかが着手中だったら」という条件にするため、
=($H1="完了")
=($H1="着手中")
という2つの条件式を書きました。(条件を複数指定するためには、青文字で表示されている「+条件を追加」から追加できます)
ちなみに、このカスタム数式の書き方はちょっと癖があります。式に関する詳細は、記事の最後に補足説明として記載します。
あとは、表示形式でそれぞれの見た目を指定して完了です。今回、「完了」は背景色に濃い赤、文字色を白、「着手中」は背景色に薄い赤、文字色は変更しない(のでデフォルトの黒)、という見た目にしました。
結果の確認
これで作業は完了です。あらかじめ完了や着手中を入力してあったスプレッドシートがどのように変わったかを確認します。
H列に完了の入った行全体が濃い赤に、着手中の入った行全体が薄い赤になりました。もちろん、未着手の行のステータスを着手中や完了に変えればその行全体の色が変わりますし、すでに色が付いている行も未着手に戻せば着色前に戻ります。
応用:偶数行だけ薄いグレーを引く
この条件付き書式のカスタム数式を使って、1行ごとに背景色を変えることもできます。
指定した条件式と書式はこちら
条件式が少し見切れてしまっていますが、入力してあるのは
=(MOD(ROW(),2)=0)
という式で、行数を2で割ったあまりが0のとき、という意味になります。A列のnoと列数がずれていてややこしいのですが、偶数行のみ背景に薄いグレーが敷かれているのがわかります。
補足:数式の意味
=($H1="完了")
条件式に入力した上記の数式の意味に付いて解説します。それぞれは
- 先頭の=:ここから数式が始まるという宣言
- $H1:H列にある、自分と同じ行を見て
- ="完了":文字列で「完了」と入力されていたら
という意味です。
もし$H1
ではなくH1
と入力したなら、A列から見てH列の場所、つまり7つ右にある列を判定します。サンプルのタスクシートの場合、H列に「完了」があってもA列にしか着色されません。I列の備考欄に「完了」を入力すれば、B列が着色されます。
また、$H2
とすれば、完了になった行のひとつ下が着色されるのか、、、と思いきや、こちらは「無効な数式でルールを保存することはできません。」といわれてしまい保存することができませんでした。数字の1は、同じ行ということを指し示すおまじないのようなものなのかもしれません。
なお、本記事で紹介したカスタム数式は、古いバージョンでは利用できないようです。新しいGoogleスプレッドシートにアップデートされているかは、右下に緑の丸いチェックマークが表示されているかで確認できます。
以上です。ご自身の使い方に合わせて数式をカスタマイズしてみてくださいね。