期限切れの行に自動で色を付けたいのに、うまくいかない?
ファイルを送るだけ、条件付き書式を設定します
更新日 2026年10月26日
結論
期限切れの「行全体」に色を付けるには、色を付けたい範囲をすべて選んでから、条件付き書式の「数式を使用して、書式設定するセルを決定」を選び、「=$D2<TODAY()」のように、期限の列にだけ「$」を付けた式を入れます。うまくいかない原因の多くは、範囲の選び方、「$」の付け方、日付が文字として入っていることのどれかです。直らなければファイルを送って相談してください。
請求書の支払期限、契約の更新日、資格の有効期限、備品の貸出日。Excelで管理している一覧表は、気づいたら期限を過ぎていた、ということが起きがちです。「期限を過ぎた行が自動で赤くなれば見落とさないのに」と思って条件付き書式を試してみたものの、色が日付のセル1つにしか付かない、全部の行が赤くなる、何も起きない。ネットの説明どおりに入れたはずなのに、なぜか思った通りに動きません。
このページでは、期限切れの行全体に自動で色を付ける手順と、うまくいかないときに確認する場所をまとめました。試してもうまくいかなければ、ファイルをそのままチャットで送ってください。表に合わせて設定してお返しします。
こんな状況ではありませんか?
- 期限の列のセルだけ色が付いて、行全体には付かない
- 設定したら、期限に関係なく全部の行に色が付いてしまった
- 空欄の行まで赤くなって、表がまっ赤になった
- 「期限の7日前から黄色、過ぎたら赤」のように段階を付けたい
- 前任者が付けた色のルールが残っていて、どこで設定されているのか分からない
ひとつでも当てはまったら、このページの方法で解決できます。
なぜ「行全体」に色を付けるのが難しいのか
条件付き書式(決めた条件に合うセルの見た目を自動で変える機能)には、「指定の値より小さい」などの簡単なメニューがあります。ただ、この簡単なメニューは選んだセルそのものの値だけを見て色を付けるので、日付の列を選べば日付のセルにしか色が付きません。
行全体に色を付けるには、「この行のD列の日付を見て、行のどのセルにも色を付ける」と、数式で指示する必要があります。ここで出てくるのが「$」の記号です。
- $D2:列(D)は固定、行(2)は1行ずつずれていく、という意味。どのセルからも「同じ行のD列」を見に行けます
- TODAY():今日の日付を表す関数。ファイルを開いた日に合わせて自動で変わります
「$」を付け忘れたり、付ける場所を間違えたりすると、隣の列を見に行ってしまい、色がずれて付きます。
まず自分で試せること
- 色を付けたい範囲を、見出しの行を除いて選ぶ。例えば2行目から100行目まで、A列からF列までなら、A2からF100までをドラッグします
- 「ホーム」タブ→「条件付き書式」→「新しいルール」→「数式を使用して、書式設定するセルを決定」を選ぶ
- 期限がD列なら、式の欄に「=AND($D2<>"",$D2<TODAY())」と入れる。前半の「$D2<>""」は「空欄の行は除く」という意味で、空の行まで赤くなるのを防げます
- 「書式」ボタンから「塗りつぶし」で色を選び、OKを押す。期限の7日前から別の色にしたい場合は、もう1つルールを作り「=AND($D2<>"",$D2>=TODAY(),$D2<=TODAY()+7)」と入れます
- 色が付かない場合は、日付のセルを1つ選んで、右クリック→「セルの書式設定」を確認する。左寄せで表示される日付や、「2026.10.1」のようにドットで区切った日付は、Excelが文字として扱っていて比較できないことがあります
- ルールが重なっておかしくなったら、「条件付き書式」→「ルールの管理」で、「書式ルールの表示」を「このワークシート」に切り替えると、シート内のすべてのルールを一覧で確認・削除できます
ここで詰まりやすいところ
ネットやChatGPTで教わる式は、「期限はD列、データは2行目から」のように、説明用の表を前提にしています。あなたの表は、見出しが2行あったり、期限の列が途中にあったり、日付が文字で入っていたりと、前提が少しずつ違います。式をそのまま貼っても動かないのはこのためです。
また、行を追加したりコピーして貼り付けたりするうちに、条件付き書式のルールが細かく分かれて増えていき、「ルールの管理」を開くと同じようなルールが何十個も並んでいる、ということもよくあります。こうなると、どれを消していいのか判断しにくくなります。
それでも解決しないときは、送るだけ
- 送る:色を付けたい一覧表のファイル(またはスクショ)と、「何日前から何色にしたいか」をチャットで送信
- 任せる:担当スタッフが表の作りを確認し、日付の形式を整えたうえで条件付き書式を設定します
- 解決:期限が近づくと自動で色が変わる表をお返しします。行を増やしたときの注意点もお伝えします
よくあるケース
例えば「期限切れを赤くしたいのに、色がなぜか1行ずれて付く」という相談はとても多いです。原因の多くは、範囲を見出しの行から選んだのに、式を2行目基準で書いていることです。範囲を2行目から選び直し、式の「$」の位置を整えると、正しい行に色が付くようになります。あわせて、文字として入っていた日付を本物の日付に変換すると、今後の入力分も正しく判定されます。
料金
この内容は相談プラン(月額5,000円・税込5,500円)の範囲内です。チャットで何度でも聞けて、初月は無料。いつでも解約できます。
料金プランを見るよくある質問
- Googleスプレッドシートでも同じことができますか?
- できます。「表示形式」→「条件付き書式」から「カスタム数式」を選び、ほぼ同じ式で設定できます。
- 期限を過ぎて「完了」と入力した行は、色を消したいです
- 完了の列を条件に加えれば可能です。例えば完了がF列なら「=AND($D2<>"",$D2<TODAY(),$F2<>"完了")」のような式になります。表に合わせて調整します。
- 設定したあと、他の人が行を追加したら色が付きません
- 範囲の外に行を足すとルールが届かないことがあります。表を「テーブル」にしておくと、範囲が自動で広がるので便利です。
- 土日を除いた「3営業日前」から色を付けられますか?
- WORKDAY関数を使えば、土日(と指定した祝日)を除いた日数で判定できます。祝日の一覧を別のシートに用意しておくと、より正確になります。