Excelの期限だけを条件にすると、完了済みの行や、期限を正しく入力できていない行まで確認対象に入ることがあります。そこでこの記事では、期限が今日より前で、ステータスが「未着手」または「進行中」の行だけを条件付き書式で強調します。
色付けは対応が必要そうな行を見つけやすくする表示補助です。優先順位や対応方針まで自動で決めるものではありません。
完成例|期限切れの未完了行だけ色を付ける
今回の完成条件は次のとおりです。期限がExcelの日付として入力され、今日より前であり、ステータスが「未着手」または「進行中」の場合だけ、A列からD列までの行全体に色を付けます。
| 課題 | ステータス | 期限 | 結果 |
|---|---|---|---|
| 見積確認 | 未着手 | 昨日 | 色付け |
| 資料修正 | 進行中 | 昨日 | 色付け |
| 会議準備 | 完了 | 昨日 | 色付けしない |
| 案件中止 | 中止 | 昨日 | 色付けしない |
| 発注確認 | 未着手 | 今日 | 色付けしない |
| 契約確認 | 未着手 | 明日 | 色付けしない |
| 日程調整 | 未着手 | 空欄 | 色付けしない |
表が2行目から始まり、ステータスがB列、期限がC列にある場合は、次の数式を使います。
=AND(ISNUMBER($C2),$C2<TODAY(),OR($B2="未着手",$B2="進行中"))
今回は「今日が期限」の行を期限切れに含めません。会社によっては当日も警告するなど、運用ルールが異なります。ここでの判定は説明用の一例なので、自社の定義を先に決めてから式を調整してください。
今回使う課題管理表
見出しは1行目、データは2行目から入力する想定です。列は次の4つだけにします。
| 列 | 見出し | 入力内容 |
|---|---|---|
| A列 | 課題 | 確認や対応が必要な内容 |
| B列 | ステータス | 未着手、進行中、完了、中止 |
| C列 | 期限 | Excelの日付として入力した期限 |
| D列 | 担当者 | 対応する人 |
ステータスは「進行中」「対応中」「実施中」のように表記が混在すると、数式が意図どおりに判定できません。条件付き書式を設定する前に、使用する文字列を統一しておきます。入力規則やプルダウンの詳しい作り方はここでは扱わず、条件付き書式に集中します。
条件付き書式の設定手順
以下はMicrosoft公式サポートで確認できるExcel for Windowsの名称を基準にしています。実機検証にはMicrosoft Excel 16.0を使用しましたが、更新状況、Mac版、Web版などでは表示や配置が異なる場合があります。
- 見出しを除き、行全体を色付けしたい範囲A2:D100を選択します。
- ホームタブの条件付き書式から新しいルールを開きます。
- 数式を使用して、書式設定するセルを決定を選びます。
- 数式欄に次の式を入力します。先頭の「=」も必要です。
=AND(ISNUMBER($C2),$C2<TODAY(),OR($B2="未着手",$B2="進行中"))
- 書式を開き、確認しやすい薄い塗りつぶし色を選びます。
- 設定を確定し、ルールの適用先が=$A$2:$D$100になっていることを確認します。
- 未着手と進行中だけでなく、完了、中止、今日、未来、空欄も入力して結果を確認します。
色は赤である必要はありません。既存の表で使っている色や、ほかの条件付き書式との見分けやすさに合わせて選びます。
数式の意味
ISNUMBER($C2):期限がExcelの日付値か確認する
Excelは日付を内部では連続した数値として扱います。ISNUMBER($C2)を先に確認することで、期限が空欄の場合や、日付のように見える文字列の場合を対象外にできます。
=$C2<TODAY()だけの式にすると、入力状態によっては空欄などが意図しない判定になることがあります。今回の表では、正しい日付値が入っている場合だけ期限比較へ進む設計にします。ただし、入力規則や表の設計が異なれば、より簡単な式や別の式が適切なこともあります。
$C2<TODAY():期限が今日より前か確認する
TODAY()は現在の日付を返します。「<」で比較するため、昨日以前はTRUE、今日と未来日はFALSEです。当日も警告したい場合は比較方法を変える必要がありますが、この記事では今日を期限切れに含めません。
OR($B2=”未着手”,$B2=”進行中”):対象ステータスを限定する
ORの中では、ステータスが「未着手」または「進行中」かを確認します。「完了以外」とはしていません。完了以外をすべて対象にすると、中止、対象外、保留など、会社独自のステータスまで期限切れ扱いする可能性があるためです。
AND:3つの条件をすべて満たすときだけTRUEにする
ANDは、日付値である、今日より前である、対象ステータスである、という3条件がすべて成立したときだけTRUEを返します。条件付き書式はこのTRUE/FALSEを使い、TRUEになった行へ指定した書式を適用します。
$B2と$C2:列を固定し、行番号は変える
$B2と$C2は、B列・C列を固定しつつ、行番号を各行に合わせて変える指定です。A2:D100へルールを適用すると、2行目はB2とC2、3行目はB3とC3を判定します。その結果を同じ行のA~D列へ反映します。
$B$2や$C$2にすると行番号まで固定されるため、3行目以降もずっと2行目だけを判定してしまいます。反対に列の「$」を外すと、書式を適用するセル位置に応じて参照列が横へずれるため、行全体の判定に向きません。
8パターンで動作を確認する
正常ケースだけでなく、色を付けないケースも確認します。次の表は、Excel 16.0でA2:D100へルールを設定して確認した結果です。
| 行 | ステータス | 期限 | 結果 |
|---|---|---|---|
| 2 | 未着手 | 昨日 | 色付け |
| 3 | 進行中 | 昨日 | 色付け |
| 4 | 完了 | 昨日 | 色付けしない |
| 5 | 中止 | 昨日 | 色付けしない |
| 6 | 未着手 | 今日 | 色付けしない |
| 7 | 進行中 | 明日 | 色付けしない |
| 8 | 未着手 | 空欄 | 色付けしない |
| 9 | 未着手 | 日付のような文字列 | 色付けしない |
色付けされた行では、期限セルだけでなくA列からD列まで同じ行全体に書式が適用されることも確認します。
うまく色が付かないときの確認点
日付が文字列になっていないか
「2026/10/1」のように見えても、Excel内部では文字列のことがあります。今回の式ではISNUMBERがFALSEになるため、色は付きません。期限セルがExcelの日付として認識されているか確認してください。
ステータスの表記が一致しているか
「進行中」と「対応中」は別の文字列です。余分な空白も判定結果に影響します。表で使うステータス名を統一し、式の文字列と一致させます。
適用先と先頭行が合っているか
適用先がA2:D100なら、式も2行目を基準にして$B2、$C2とします。表が5行目から始まるなら、式も$B5、$C5へ変更します。
「$」の位置が正しいか
列の前だけに「$」を付けます。$B$2のように行まで固定していないか、B2のように列が動く指定になっていないか確認します。
今日を期限切れにする運用か
この記事は「今日より前」を期限切れとします。期待する結果と違う場合は、数式の誤りと決めつけず、まず当日を含める社内ルールかどうかを確認します。
自分の管理表へ置き換える方法
列位置が違う場合は、ステータス列と期限列だけを置き換えます。たとえば、ステータスがD列、期限がE列で、データが5行目から始まるなら次のようにします。
=AND(ISNUMBER($E5),$E5<TODAY(),OR($D5="未着手",$D5="進行中"))
ステータス名が「未対応」「対応中」なら、OR内の文字列も実際の表に合わせます。対象を増やす前に、中止や保留まで誤って含めないか確認してください。適用先は期限列だけではなく、色を付けたい行の全列を指定します。
課題管理表・施策実行計画表との使い分け
これから課題の項目や運用方法を決める場合は、課題管理表の作り方を参照してください。課題を起票し、担当・期限・状態を追う表自体の作り方が中心です。この記事は、そのような表へ期限切れの未完了行を自動強調する操作を追加する役割です。
施策・担当・期限・指標を一つの実務表へまとめる場合は、施策実行計画表の作り方が対象です。一方、この記事はExcel上の期限確認を補助する具体的な表示設定に絞っています。
期限切れは確認のきっかけになりますが、必ず最優先とは限りません。影響や依存関係も含めて順番を決める場合は、仕事の優先順位の決め方と分けて考えます。
まとめ
A2:D100の行全体に色を付ける場合は、次の式を条件付き書式へ設定します。
=AND(ISNUMBER($C2),$C2<TODAY(),OR($B2="未着手",$B2="進行中"))
ISNUMBERで空欄や文字列日付を除き、TODAYとの比較で昨日以前に限定し、ORで未着手と進行中だけを指定します。設定後は色が付く2ケースだけでなく、完了、中止、今日、未来、空欄、文字列日付も確認してください。条件付き書式は確認対象を見つけやすくしますが、対応の優先順位や管理品質そのものを保証する機能ではありません。
参考:Microsoft「条件付き書式を使用してExcel内の情報を強調表示する」、Microsoft「TODAY関数」
