エクセルの条件付き書式で期限・締め切りが迫るとセルの色が変わる設定方法 & EDATE関数で正確な2か月後、半年前などの日付を取得する方法 365・2019・2016・2013・2010・2007対応

エクセルで、当日から締め切りが近づいてきたらセルの色が変わる、例えば今後1週間や1ヵ月以内の日付だけ色を変更するといったことがエクセルの「条件付き書式」で可能になります。

目次

エクセルの「条件付き書式」で指定した範囲の日付のセルの色を変更する

たとえば、A列にさまざまな日付があります。これらのセルを選択して、今週や今月の日付のみセルの色を変更してみましょう。

さまざまな日付のセルから指定のセルの色を変更する

変更するセルを選択後、「ホーム」「条件付き書式」「日付」をクリックします。

「ホーム」「条件付き書式」「日付」

「次の期間内の日付を含むセルを書式設定」のプルダウンリストから、該当する項目を選択します。

プルダウンリストには「昨日」「今日」「明日」「過去7日間」「先週」「今週」「来週」「先月」「今月」「来月」と10項目しかありませんが、これらで利用が可能であれば簡単にセルの色を変更することができます。

日付の項目は10項目しかない

試しに「今月」を選ぶと「今月(今日を8月1日に設定しています)」を含むセルの色を変更することができました。

「今月」のセル範囲の色を変更

デフォルトの10項目以外で日付を指定する方法

デフォルトの10項目以外、例えば今日から2か月間の日付を指定して、セルの色を変更する場合は少し複雑になります。

先ほどの日付一覧セルを選択後、「条件付き書式」「ルールの管理」をクリックします。

「条件付き書式」「ルールの管理」

先ほど設定した日付ルール「今月」が選択されていますので、「ルールの編集」をクリックします。

条件付き書式ルールの管理

下のようなダイアログボックスが開きますので、「ルールの種類」から「指定の値を含むセルだけを書式設定」、「ルールの内容を編集してください」から「セルの値」を選びます。

書式ルールの編集

「書式ルールの編集」で、「次の値の間」に「=$A$9(今日の日付に設定しています)」と「=$A$9+60」と入力します。これで今日の日付から60日間(2か月)の日付を含むセルのみセルの色を変更できます。入力後、「OK」ボタンをクリックします。

セルの値の範囲を選択

条件付き書式が変更されたことを確認後、「OK」ボタンをクリックします。

条件付き書式ルールの管理

今日(8月1日に設定)から2ヶ月間のセルのみ色が変更されているのが確認できます。

「今日」から2ヶ月間の日付を含むセルのみ色を変更

同様に、「7日以内」なら「+7」を、また例えば2週間前までなら値の範囲に「=$A$9(今日の日付に設定しています)-14」と「=$A$9」を入力すると該当の日付のセルの色を変更することができます。

ところが1ヶ月の日数は月ごとに変わる

先程の表ではうまくいきましたが、ご存じのように月によって1ヵ月の日数はバラバラです。

ですから先程のように「+60」とすると、2月をまたいだ場合は間違えた式になってしまいます。

下の例は、今日を「2月1日」にした例です。特に2月はうるう年もあって、非常に計算がややこしくなります。

2月1日から60日間ですから、4月2日まで2ヵ月後(60日間)としてカウントされてしまいます。

2月から2ヵ月になると単純にはいかない

C列に今日(A9セル)からの日数の経過を表示してみました。

4月2日は60日後なので、今回の書式ルールに含まれています。

1ヵ月の日数は月ごとにまちまち

実は、そんな月ごとにまちまちの日数であってもちゃんと計算してくれる関数があります。それが「EDATE」関数です。

1 2

関連コンテンツ

よかったらシェアしてね!

コメント

コメント一覧 (4件)

  • はじめまして。
    質問してもよろしいでしょうか?
    どうしてもできないので教えて頂きたいです。

    エクセルに入力してある日付に対して
    今日の日付から2か月先の日付のセルを赤色に変更。
    今日より過去の日付が入力されているものを青色に変えたい場合の
    条件書式の方法を教えて下さい。
    また、上記に対して空白のセルも色が変わらないようにしたいです。

    宜しくお願い致します。

    • 山下様
      コメントありがとうございます。
      条件付き書式の数式にtoday関数を利用してはいかがでしょうか?
      数式はこんな感じです。
      書式を変更したいセルをA3と仮定した場合です
      2ヶ月後 「=a3>edate(today(),2)」
      過去の日付 「=a3

    • <today()」
      うまくいかないようであれば、こちらのコメントに返信いただけたら幸いです。

コメントする

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる