次の方法で共有

Windows11へ更新後、Microsoft365のExcelにて条件付き書式で期限日を過ぎたら色を付ける設定をしても色がつかない。

K.T 25 評価のポイント
2025-08-04T07:19:02.85+00:00

Microsoft365のExcelにて条件付き書式を選択し、今日を過ぎている日付が赤文字になるよう
以下の通り設定しています。

1.条件付き書式を開いて、「数式を使用して、書式設定するセルを決定」を選択。

2.「次の数式を満たす場合に値を書式設定」欄へ以下の通り入力

 =対象セルを範囲指定<=TODAY()

※対象セルへは、事前に年月日で日付を入力してあります。

同様の設定で、今日より1か月前の日付が黄色になるよう

以下内容を設定しても機能しません。

1.条件付き書式を開いて、「数式を使用して、書式設定するセルを決定」を選択。

2.「次の数式を満たす場合に値を書式設定」欄へ以下の通り入力

  =対象セルを範囲指定-60<=TODAY()

※対象セルへは、事前に年月日で日付を入力してあります。

いずれの設定でも今日を過ぎた日付に色付されなかったり、期限がまだ先の来年の日付が色付されたりします。


<モデレーター注>
質問内容をもとにタグを「その他」→「Excel」に変更しました。
サブタグは不明な為、仮設定しています。

Microsoft 365 と Office | Excel | その他 | その他

質問作成者が受け入れた回答

  1. Emmanuel Santana 38,850 評価のポイント 独立アドバイザー
    2025-08-04T08:02:35.6166667+00:00

    こんにちは。Excelが入力を文字列として認識していたり、範囲を誤って評価している可能性があります。

    セルが正しいExcelの日付形式になっているか確認してください。見た目が「yyyy-mm-dd」の形式でも、文字列として扱われていると条件付き書式は正しく機能しません。日付セルを参照して、次の数式を使ってテストしてください:=ISNUMBER(A1)。結果がTRUEであれば正しい日付形式です。


1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. ひまじん 17,185 評価のポイント
    2025-08-05T08:06:32.28+00:00

    こんにちは。

    横合いから失礼いたします。どうにも気になりましたので。
    もう既に問題解決済みでしたら、以下全て読み飛ばして頂いて構いません。

    ずっと気になっていたのですが、タイトルで書かれている内容と質問文の中で書かれている内容が異なっているように思えて、ご希望の内容が良く分からなくなってしまっています。

    タイトルの中では、
    >期限日を過ぎたら色を付ける
    と書かれていますが、

    質問文の中では、
    >今日を過ぎている日付が赤文字になるよう
    または、
    >今日より1か月前の日付が黄色になるよう
    と書かれています。

    こうやって抜き出してみると、「期限日」と「今日」の日付の関係が曖昧に伝わってしまっているのがお分かりいただけるかと思います。

    「条件付き書式」のルールを数式で設定し、「期限日」と「今日」をその数式中で扱うのであれば、何か肝心なことが抜けているようにも思えます。

    なので、例えばですが、下記のような表1があると仮定して、書かれていることから推測を交えて以下のような 2つのルール(文字色が 2色なので)を考えてみました。

    尚、「条件付き書式」の設定には慣れておられるかと思いますので、ルールの設定項目のみ書いています。

    ・表1
    この表では、B列の日付(日付のシリアル値)に「条件付き書式」の 2つのルールが適用されている状態です。

    尚、これを書いている時点の「今日」の日付は 2025/8/5 です。

    表1

    ・ルール1
    このルール1では、B2:B20 のセル範囲のフォントを、『 B列の日付が「今日」の日付より小さいか等しく、且つ、C列に日付が入っていない』という条件が TRUE となった場合、赤色の太字に書式設定します。

    「適用先」
    =$B$2:$B$20

    「数式」
    =(B2<>"")*(B2<=TODAY())*(C2="")

    「書式」
    文字色を赤色、文字を太字(このほうが目立つので)に設定。

    要約すると、「今日」の日付が「納品期限日」当日か「納品期限日」を過ぎてしまっているのに納品がされていない場合、「納品期限日」を赤色に設定するルールになります。
    「納品日」が入力されると元の色(この場合は黒色)に戻ります。

    ・ルール2
    このルール2では、B2:B20 のセル範囲のフォントを、『 B列の日付の 1ヶ月前の日付が「今日」の日付より小さいか等しく、且つ、「今日」の日付が B列の日付より小さく、且つ、C列に日付が入っていない』という条件が TRUE となった場合、緑色の太字に書式設定します。

    「適用先」
    =$B$2:$B$20

    「数式」
    =(B2<>"")*(EDATE(B2,-1)<=TODAY())*(TODAY()<B2)*(C2="")

    「書式」
    文字色を緑色(黄色では目立たないので)、文字を太字(このほうが目立つので)に設定。

    要約すると、「今日」の日付が「納品期限日」の 1ヶ月前以内(「納品期限日」当日は除く)に入っていて納品がされていない場合、「納品期限日」を緑色に設定するルールになります。

    言い換えると、「今日」の日付から「納品期限日」までの日にちが、1ヶ月ちょうどになったか 1ヶ月を切っても納品がされていない場合、「納品期限日」を緑色に設定するルールになります。

    「納品日」が入力されると元の色(この場合は黒色)に戻ります。

    尚、ここで使用している EDATE 関数は、指定された日付から月単位で前後の日付を求めることのできる関数です。

    ・日付を加算または減算する( EDATE 関数についての記述あり)
    https://support.microsoft.com/ja-jp/office/%E6%97%A5%E4%BB%98%E3%82%92%E5%8A%A0%E7%AE%97%E3%81%BE%E3%81%9F%E3%81%AF%E6%B8%9B%E7%AE%97%E3%81%99%E3%82%8B-b83768f5-f695-4311-98b1-757345f7e926

    例えば、EDATE 関数を使用すると、
    ・2025/3/1 の 1ヶ月前 -> 2025/2/1
    ・2026/3/1 の 3ヶ月前 -> 2025/12/1
    ・2025/12/1 の 1ヶ月後 -> 2026/1/1
    といった日付が返されます。

    両ルールとも、数式に『 B列が空白(この場合、何も入力されていない状態)ではない (B2<>"") 』という条件を付け加えているのは、条件が成立しない場合に B列の文字色を元に戻しておくためです。(本来は必要ないのですが、日付入力途中の文字色を統一するために追記しています。)

    それと、TODAY 関数は、どこかのセルで何らかの編集(再計算)などが行われるまでは、それまでの日付を保持していますので、ファイルを立ち上げたままで日付を跨ぐような運用をされる場合には、ご注意ください。念のため。

    ここで書いているのは、あくまで表1を対象にした場合の「条件付き書式」のルールの一例です。

    ご自身の表のセル配置や項目などは全く異なっているかと思いますが、ルールの基本的な考え方は一緒かと思いますので、よろしければ、ご自身の表に合わせて工夫した上でお使いになってみてください。

    もしも、ご希望の条件の考え方が全く異なるような場合には、どのようなセル配置(セルアドレス)の表があって、どのセル範囲(「適用先」)に、どのような条件(箇条書きで構いません)で書式を設定したいのか、といった情報を出来るだけ詳しく具体的にお知らせください。

    尚、お知らせいただく際には、個人情報に関わる部分は隠すなり置き換えるなりして頂きたく、お願いいたします。

    Windows11 と Microsoft365 の Excel の組み合わせで動作確認しています。
    ご参考になれば幸いです。

    <文章の分かり難さを修正>2025/8/6 18:41
    説明文各所で分かり難い表現が目立っていたため、修正しています。


お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。