Contents
Googleスプレッドシートのちょっとしたテクニックです.
あんまり技術っぽくないテーマですが,自分が少し行き詰まった点でもあり,ピンポイントな既存解説が存在しなかったので,備忘録として記事に残します.
今日,来年以降に開催される国際会議の日程と important date (各種締切日等) をまとめた表を Google スプレッドシートで作成していました.日付を表示するとき,例えば,締切が迫っているものはセルのバックグラウンドを赤色で強調して,そんなに締切が近くないものは黄色,過ぎ去った日付はグレー等で知らせてくれたらいいなと思いました.「条件付き書式」ですんなりできるかと思ったら意外と苦労して,軽く調べてもなかなか解決しなかったので,ここに記録しておきます.
ちなみに,作成した表はこんなやつです.
以下が今回のポイントです.
それぞれ簡単に説明します.
直感的にわかりますが,今回使用するのは条件付き書式機能です.関数やスクリプトではありません.
設定画面のテキストフィールドで,数字を使用する場合はそのまま入力すればよいことはわかりますが,今回は固定値ではないので本日の日付を表す “today()” を使用します.この場合,テキストフィールドには “=today() + n” と先頭に “=” を付ける必要があります.
比較方法に,文字列一致と共に大小比較や日付比較の選択肢があります.今回,日付を扱いますが,数値と同様に大小比較することが可能です.「以下」とか選んじゃって大丈夫です.
ちょっと注意しなきゃならないのは,複数の条件を指定したときの一致条件は,最初に一致した条件です.
つまり,
if (条件1) {…;} else if (条件2) {…;} else {…;}
の流れではなく,
if (条件1) {…;} if (条件2) {…;} if (条件3) {…;}
でもなく,
if (条件) {…; break;} if (条件2) {…; break;} if (条件3) {…; break;}
です.
以上をもとに条件付き書式を作ってみます.
各日付の色は次のように定めます.
もう過ぎちゃった日付 | yyyy-mm-dd (#b7b7b7) |
7日前!!!! | yyyy-mm-dd (#ff7f7f) |
14日前!! | yyyy-mm-dd (#ffcc7f) |
30日前 (^^) | yyyy-mm-dd (#ffff7f) |
60日前 (^^)ヨユー | yyyy-mm-dd (#7fff7f) |
条件付き書式の設定画面を下の図に示します.
下の方切れちゃってますが,
1つ目の条件は「次より小さい」で “=today()” ,つまり過ぎた日付,
2つ目の条件は「以下」で “=today() + 7” ,つまり1週間以内に迫ってる,
以下同様です.
結果,下の図のようになります.図には境界値を表示しています.本日の日付は “2014-11-29” です.
使う機会があれば,お試しください.
余裕をもって,原稿を完成させたい.