- 作成日 : 2025年10月27日
スプレッドシートで今日の日付に色を付けるには?期限管理から土日の色分けまで解説
Googleスプレッドシートで今日の日付に自動的に色を付ける設定を行うことで、スケジュール管理や期限管理を効率化し、重要な日付を見落とすリスクを減らせます。
TODAY関数と条件付き書式を組み合わせることで、今日の日付はハイライト表示、過去の日付は警告色、土日は別色といった多彩な色分けが自動的に適用されます。
本記事では、スプレッドシートで今日の日付に色を付ける基本的な方法から、期限切れの警告表示、土日祝日の色分けまで、実務で即座に活用できる設定方法を詳しく解説します。
目次
スプレッドシートで今日の日付に自動で色を付ける方法は?
スプレッドシートで今日の日付に色を付けるには、条件付き書式でTODAY関数を使用し、セルの日付が今日と一致する場合に背景色を自動的に変更する設定を行うことで、毎日自動更新される動的なハイライトを実現できます。
今日の日付を自動的にハイライト表示することで、カレンダーやスケジュール表、タスク管理表において現在位置を瞬時に把握できます。この機能は、日付が変わると自動的に色付けも更新されるため、手動でのメンテナンスが不要で、常に最新の状態を保つことができます。
TODAY関数を使った条件付き書式の設定
TODAY関数は現在の日付を返す関数で、これを条件付き書式と組み合わせることで、今日の日付を自動判定できます。設定は一度行えば基本的に維持されますが、シートの列を追加・削除するなど構成を変更した場合、条件付き書式の範囲設定を見直す必要があります。
- 日付が入力されているセル範囲を選択(例:A2:A100)
- メニューから「表示形式」→「条件付き書式」を選択
- 「条件を追加」または「+」ボタンをクリック
- 条件で「カスタム数式」を選択
- 数式入力欄に=$A2=TODAY()を入力
- 書式設定で背景色を明るい黄色などに設定
- 「完了」をクリックして適用
- 引数不要で現在の日付を返す
- スプレッドシートを開くたびに更新
- タイムゾーン設定の影響を受ける
- 再計算により常に最新の値を保持
カスタム数式の詳細解説:
=$A2=TODAY()
- $A:列を固定(どの列から見てもA列を参照)
- 2:行は相対参照(各行で変化)
- =TODAY():今日の日付と完全一致を判定
複数列での今日の日付ハイライト
日付が複数の列に分散している場合や、行全体をハイライトしたい場合の設定方法を解説します。
- ハイライトしたい範囲全体を選択(例:A2:Z100)
- 条件付き書式でカスタム数式を設定
- 数式:=$A2=TODAY()(A列の日付を基準)
- 背景色を設定して適用
この設定により、A列の日付が今日の場合、その行全体がハイライトされます。
複数の日付列を個別にチェック:
=OR($A2=TODAY(),$D2=TODAY(),$G2=TODAY())
A列、D列、G列のいずれかが今日の日付の場合にハイライトする設定です。
カレンダー形式での応用: 月間カレンダーのような横方向の日付配置の場合:
=B$1=TODAY()
1行目に日付がある場合、該当する列全体をハイライトします。
時刻を含む日付での注意点
日付と時刻が同じセルに入力されている場合、小数部分に時刻が含まれるため、単純な比較では正しく動作しないことがあります。
日付部分のみを比較する方法:
=INT($A2)=TODAY()
INT関数で時刻部分を切り捨てて、日付のみを比較します。
DATE関数を使った比較:
=DATE(YEAR($A2),MONTH($A2),DAY($A2))=TODAY()
年月日を抽出して再構成し、確実に日付のみを比較します。
タイムスタンプへの対応:
=AND($A2>=TODAY(),$A2<TODAY()+1)
今日の0時から23時59分59秒までの範囲をチェックします。
日付が過ぎたら自動的に色を付ける期限管理の設定方法は?
期限切れの日付に色を付けるには、条件付き書式で日付がTODAY()より小さいかを判定し、過去の日付を赤色などの警告色で自動的に表示することで、期限超過を視覚的に管理できます。
プロジェクト管理や納期管理において、期限切れのタスクを早く見つけることは重要です。過去の日付を自動的に色分けすることで、遅延している項目を見逃すことなく、適切な対応を取ることができます。
期限切れを警告色で表示する基本設定
過去の日付を赤色でハイライトする基本的な設定から始めます。この設定により、期限を過ぎたタスクが一目で分かります。
期限切れハイライトの設定(空白・非数値を除外):
カスタム数式:=AND(ISNUMBER($A2), $A2 < TODAY())
※ 列Aが正しく“日付(数値)”である場合のみ過去日を赤でハイライトします。
段階的な警告レベル(空白・非数値を除外、優先度は下ほど強い並びに):
- 第3条件(3日以内): =AND(ISNUMBER($A2), $A2 > TODAY(), $A2 <= TODAY()+3)
- 第2条件(今日が期限): =AND(ISNUMBER($A2), $A2 = TODAY())
- 第1条件(期限切れ): =AND(ISNUMBER($A2), $A2 < TODAY())
※ 条件付き書式のルール一覧で、上:3日以内 → 中:今日 → 下:期限切れの順に並べると、期限切れが最優先で表示されます。
営業日ベースでの期限管理
(空白・非数値を除外、祝日は名前付き範囲 Holidays を想定):
- 前営業日より前を期限切れ:
=AND(ISNUMBER($A2), $A2 < WORKDAY(TODAY(), -1, Holidays)) - 今後3営業日以内を警告:
=AND(ISNUMBER($A2), $A2 >= TODAY(), $A2 <= WORKDAY(TODAY(), 3, Holidays))
※ 祝日リストは別シートに作成し、**名前付き範囲(例:Holidays)**として登録して参照してください。
ステータスと組み合わせた条件設定
期限とタスクのステータスを組み合わせて、より実用的な色分けを実現します。
未完了かつ期限切れのハイライト:
=AND(ISNUMBER($A2), INT($A2) < TODAY(), $B2 <> “完了”)
A列が期限、B列がステータスの場合、未完了で期限切れのタスクのみ赤色表示します。
進捗率を考慮した警告:
=AND(ISNUMBER($A2), INT($A2) < TODAY(), ISNUMBER($C2), $C2 < 100)
C列が進捗率の場合、100%未満で期限切れのタスクを警告表示します。
優先度別の期限管理:
=AND(ISNUMBER($A2), INT($A2) < TODAY(), $D2 = “高”)
高優先度のタスクが期限切れの場合、特に目立つ色で表示します。
土日に自動で色を付ける休日管理の設定方法は?
- 列Aの日付セルを個別に着色:
=AND(ISNUMBER($A2), OR(WEEKDAY($A2)=1, WEEKDAY($A2)=7)) - 行全体を土日でハイライト(A列の値を基準に A2:Z100 へ適用):
=AND(ISNUMBER($A2), OR(WEEKDAY($A2)=1, WEEKDAY($A2)=7))
※ WEEKDAY の既定は 1=日曜, …, 7=土曜。欧州方式(WEEKDAY( ,2))を使う場合は 6=土曜, 7=日曜になるため、式を合わせてください。
カレンダーやスケジュール表において、土日を視覚的に区別することで、勤務日と休日の管理をシート上で一元化できます。プロジェクト計画においても、作業可能日を明確にすることができます。
WEEKDAY関数による土日判定
WEEKDAY関数は日付から曜日を数値で返す関数で、これを利用して土日を自動判定します。
土曜日の色付け設定:
=WEEKDAY($A2)=7
背景色:薄い青色
日曜日の色付け設定:
=WEEKDAY($A2)=1
背景色:薄いピンク色
土日をまとめて色付け:
=OR(WEEKDAY($A2)=1,WEEKDAY($A2)=7)
土日を同じ色でハイライトする場合の設定です。
WEEKDAY関数の引数オプション:
=WEEKDAY($A2,2)
第2引数を2にすると、月曜日が1、日曜日が7になります。地域や用途に応じて選択可能です。
祝日も含めた休日の総合管理
土日に加えて祝日も含めた包括的な休日管理を実現する方法です。
- 別シート「祝日」を作成
- A列に祝日の日付を入力
- 条件付き書式で参照
祝日判定の条件式:
=COUNTIF(祝日!$A:$A,$A2)>0
土日祝日の統合判定:
=OR(WEEKDAY($A2)=1,WEEKDAY($A2)=7,COUNTIF(祝日!$A:$A,$A2)>0)
土日または祝日の場合にハイライトする設定です。
振替休日の考慮:
=OR(WEEKDAY($A2)=1,WEEKDAY($A2)=7,COUNTIF(祝日!$A:$A,$A2)>0,AND(WEEKDAY($A2)=2,COUNTIF(祝日!$A:$A,$A2-1)>0))
祝日が日曜日の場合の月曜振替も考慮した設定です。振替休日の自動判定は法律上の規定があるため、単純数式での対応は上手くいかない場合があります。別シートに祝日リストを作成し、それを参照する方法をおすすめします。
月間カレンダーでの曜日別色分け
月間カレンダー形式で、曜日ごとに異なる色を設定する実用的な方法です。
- 月曜日:薄い黄色(週の始まり)
- 火〜木曜日:白(通常の平日)
- 金曜日:薄い緑(週末前)
- 土曜日:薄い青
- 日曜日:薄いピンク
全曜日の個別設定例:
月曜:=WEEKDAY($A2)=2
火曜:=WEEKDAY($A2)=3
水曜:=WEEKDAY($A2)=4
木曜:=WEEKDAY($A2)=5
金曜:=WEEKDAY($A2)=6
土曜:=WEEKDAY($A2)=7
日曜:=WEEKDAY($A2)=1
複数の日付条件を組み合わせた高度な色分け設定は?
複数の日付条件を組み合わせることで、今日の日付、期限切れ、土日祝日を同時に管理し、優先順位に応じた色分けルールを適用することで、より実用的な日付管理システムを構築できます。
実際の業務では、単一の条件だけでなく、複数の条件を組み合わせた複雑な色分けが必要になることがあります。条件の優先順位を適切に設定することで、見やすく実用的な表示を実現できます。
条件の優先順位設定
条件付き書式では、上位のルールが優先されます。この特性を利用して、重要度に応じた色分けを実装します。
- 今日の日付(最優先):明るい黄色
- 期限切れ:赤色
- 期限間近(3日以内):オレンジ
- 今週中:薄い黄色
- 土日祝日:薄い灰色
- その他:デフォルト
複合条件の例:
=AND(ISNUMBER($A2), INT($A2)=TODAY(), WEEKDAY($A2)<>1, WEEKDAY($A2)<>7)
(※「平日の今日のみ」を強調)
期間指定での色分け
特定の期間内の日付を色分けする実用的な設定方法です。
月曜始まりで「今週(月〜日)」を強調:
=AND(ISNUMBER($A2), INT($A2) >= (TODAY()-WEEKDAY(TODAY(),2)+1), INT($A2) <= (TODAY()-WEEKDAY(TODAY(),2)+7))
月曜始まりの今週をハイライトします。
今月の日付を色付け:
=AND(YEAR($A2)=YEAR(TODAY()),MONTH($A2)=MONTH(TODAY()))
今月の日付のみ背景色を変更します。
四半期での色分け:
=ROUNDUP(MONTH($A2)/3,0)=ROUNDUP(MONTH(TODAY())/3,0)
現在の四半期の日付をハイライトします。
プロジェクト管理での実践的応用
実際のプロジェクト管理で活用できる、複合的な日付色分けの設定例です。
マイルストーン管理:
=AND($A2=TODAY(),$B2=”マイルストーン”)
今日がマイルストーンの日付の場合、特別な色で強調表示します。
リソース管理との連携:
=AND($A2>=TODAY(),$A2<=TODAY()+7,$C2>5)
今後1週間で5人以上のリソースが必要な日を警告表示します。
依存関係の可視化:
=AND($A2<TODAY(),COUNTIF($D:$D,$E2)>0)
期限切れで、他のタスクに影響する項目を特に目立たせます。
日付の色分け設定でよくあるトラブルと解決方法は?
日付の色分けが正しく機能しない場合は、日付形式の不一致、タイムゾーン設定、数式の参照エラーなどが原因として考えられ、それぞれに対応した解決方法を適用することで問題を解決できます。
条件付き書式が期待通りに動作しない場合、データ形式や設定の問題を系統的に確認することで、多くのケースで解決できます。
日付が認識されない問題
セルの値が日付として認識されていない場合、条件付き書式が正しく適用されません。
日付形式の確認方法:
=ISNUMBER($A2)
TRUE ならシリアル値=日付として認識されています(時刻付きでも数値)。文字列の場合は FALSE になります。必要に応じて =ISNUMBER(DATEVALUE($A2)) で文字列→日付への変換可否を判定できます。
文字列から日付への変換:
=DATEVALUE($A2)
文字列形式の日付を数値形式の日付に変換します。
- 対象範囲を選択
- 「表示形式」→「数字」→「日付」
- 適切な日付形式を選択
- 全角数字の使用
- スペースや特殊文字の混入
- 和暦と西暦の混在
- 月日の順序の相違
タイムゾーンと更新タイミングの問題
TODAY関数はタイムゾーン設定の影響を受けるため、意図しない動作をすることがあります。
- 「ファイル」→「設定」を開く
- 「全般」タブでタイムゾーンを確認
- 正しいタイムゾーンに設定
- 「設定を保存」をクリック
- 再計算の頻度設定:[ファイル]→[設定]→[計算]で「変更時/変更時+毎分/変更時+毎時」を選択。
- 強制的に再評価を促す:対象セルを編集→Enter で再計算、または NOW()/RAND() を参照させて再計算タイミングに連動。
- スクリプトで定期更新:時間主導トリガーでヘルパーセルにタイムスタンプを書き込み、依存式を再評価させる(例:sheet.getRange(‘Z1’).setValue(new Date()))。
NOW関数との使い分け:
=INT(NOW()) // 時刻を含む現在日時から日付部分のみ抽出
より頻繁な更新が必要な場合に使用します。
パフォーマンスの最適化
大量の条件付き書式はスプレッドシートの動作を遅くする可能性があります。
- 不要なルールの削除
- 範囲を必要最小限に限定
- 複雑な数式の簡素化
- 揮発性関数(TODAYやNOW関数)の使用を最小限に
効率的な数式の例: 非効率:
=OR($A2=TODAY(),$A2=TODAY()-1,$A2=TODAY()-2)
効率的:
=AND(ISNUMBER($A2), INT($A2) >= TODAY()-2, INT($A2) <= TODAY())
- 月1回の条件付き書式の見直し
- 不要になったルールの削除
- 重複ルールの統合
- 範囲の最適化
スプレッドシートで日付を色分けして効率的に管理する
Googleスプレッドシートでは、条件付き書式とTODAY関数を活用することで、日付を自動的に色分けできます。今日の日付を強調表示するだけでなく、期限切れのタスクを赤色で警告したり、土日や祝日を別色で区別したりする設定も可能です。これにより、スケジュールやプロジェクト管理において重要な日付を直感的に把握でき、作業効率が向上します。
また、複数条件を組み合わせることで、期限間近やマイルストーンなども一目で確認できるようになります。適切な設定を行うことで、日常業務からプロジェクト管理まで幅広いシーンで活用できます。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
社内回覧をExcel(エクセル)で電子化するには?運用の注意点や代替ツールを解説
社内回覧の電子化は、業務の効率化やペーパーレス化を進めるうえで有効な手段です。中でもExcel(エクセル)は導入しやすく、テンプレートの作成や承認フローの可視化により、紙の回覧に比べて柔軟かつスピーディな運用が可能になります。 本記事では、…
詳しくみるスプレッドシートで曜日を自動入力するには?便利な関数と活用テクニック
勤怠管理表やスケジュール表を作成する際、日付に対応する曜日を手入力していませんか?Googleスプレッドシートの曜日関連機能を使えば、自動的に曜日を表示でき、入力ミスを防ぎながら作業時間を大幅に短縮できます。 本記事では、曜日の自動入力方法…
詳しくみるスプレッドシートで他のシートからデータを反映・参照するには?IMPORTRANGE関数で自動更新する方法も解説
Googleスプレッドシート(スプシ)で複数のファイルを管理していると、「あのファイルのデータをこのシートにまとめたい」と感じることはありませんか?手作業でのコピー&ペーストは時間がかかり、ミスや更新漏れの原因になります。この記事では、スプ…
詳しくみるエクセルで円を千円単位に変換する方法をわかりやすく解説
エクセルを使って円を千円単位に変換するのは、実務において非常に便利な操作です。特に、予算や売上の集計時に千円単位で表示することは、視覚的にもわかりやすくなります。本記事では、エクセルで円を千円単位に変換する方法を、ステップバイステップで解説…
詳しくみるスプレッドシートでボタンを作成してスクリプトを実行するには?
Googleスプレッドシートにボタンを配置してGoogle Apps Script(GAS)を実行することで、複雑な処理をワンクリックで自動化できます。本記事では、スクリプトの基本的な実行方法から、ボタンの作成と割り当てなどを詳しく解説しま…
詳しくみるSUM関数の使い方を初心者向けに解説!注意点やスプレッドシートでの活用まで
SUM関数は、ExcelやGoogleスプレッドシートなどでよく使用される基本的な関数の一つです。数字の合計を簡単に計算できるため、データの集計や分析を行う際に非常に便利です。本記事では、SUM関数の基本的な使い方から、利用シーン、注意点、…
詳しくみる