notebook

都内でWEB系エンジニアやってます。

Spreadsheetの条件付き書式を使ってガントチャートの期限過ぎた未完了タスクを目立たせる

条件付き書式で色々できるのは知っていたがカスタム数式の感覚がなんとなくわかったためメモ書き程度に残しておく

サンプルとしてガントチャート的なものを作ってみた

ガントチャートのサンプル - Google スプレッドシート

題材としてこのシートをもとに行や列の番号を扱う

スクリーンショット

期日までにタスクが終わっていないと担当者名の背景色が真っ赤になりますw

これで危機感をあおることができますね?

スプレッドシートの構成

  • 3行目からタスクリスト
  • A列がタスク名
  • B列が担当者
  • C列が完了したか
  • D列が開始日
  • E列が終了日
  • 1行目が日付
  • 2行目が曜日

条件付き書式を使った部分

以下のスクリーンショットは次のような意味合いを持つ

  • ピンクの枠
    • 条件付き書式の判定対象
  • 緑の枠
    • 条件付き書式の適用範囲
  • オレンジの枠
    • カスタム数式が参照しているセル

開始と終了の日付に合わせて自動的に色をつける

書式設定のスクリーンショット

範囲 F3:AI1001
カスタム数式 =AND($D3<=F$1,$E3>=F$1)
  • カスタム数式の設定は範囲に対して一番左上のセルをベースとして計算している
  • そのため各セルに対して適用する数式の行や列はベースからの差を適用している

上記のカスタム数式の場合

  • F3がベース

  • G3のとき適用される条件はAND(D3<=G1,E3>=G1)

両方条件を満たしているので書式が適用される


  • F4のとき適用される条件はAND(D4<=F1,E4>=F1)

条件を満たしていないので書式が適用されない


  • G4のとき適用される条件はAND(D4<=G1,E4>=G1)

条件を満たしていないので書式が適用されない

という感じになる

このあたりを把握して$をつけて固定する箇所としない箇所を指定することで範囲指定したうえでの条件付き書式設定のイメージが湧くと思う

土日祝日は色付け

書式設定のスクリーンショット

範囲 F2:AI1001
カスタム数式 =OR(F$2="土",F$2="日",F$2="祝")

曜日の行(F2,G2....)をみて土、日、祝という文字列であれば色をつける

今日の日付であれば色付け

書式設定のスクリーンショット

範囲 F1:AI1001
カスタム数式 =F$1=TODAY()

日付の行(F1,G1.....)をみてその日が今日であれば色をつける

期限切れタスクの担当者に色付け

書式設定のスクリーンショット

範囲 B3:B1001
カスタム数式 =AND(NOT($C3),TODAY()>$E3,ISDATE($E3))
  • チェックがついていないか
  • 今日が終了日以降か
  • 終了日のカラムが日付か(入っているか)

をチェックしてすべて真のときに背景色が赤くなる

スクリーンショットだと

B5はC5にチェックが入っていない、E5が今日(2022-12-17)を過ぎている、E5は日付

すべての条件を満たすため書式が適用され赤背景になる

おわり

こういうのはたまにしか使わないが使えると便利なので思い出せるように残した

また使うときが来たら参照して効率よくしたい