D2:D40 を選択し、
メニュー「表示形式」から「条件付き書式」を選択、
「書式ルール」の「セルの書式設定の条件」リストから
一番下にある「カスタム数式」を選択し
下記の数式を入力。
「書式設定のスタイル」から、条件に当てはまる場合の書式を設定し、
完了ボタンを押します。
=if(and(month($B$1)=2,day($B$1)=29),COUNTIF(D2,"<"&year($B$1)+2&"/3/1"),COUNTIF(D2,"<"&year($B$1)+2&"/"&month($B$1)&"/"&day($B$1)))
設定内容の詳細について
数式後半の
COUNTIF(D2,"<"&year($B$1)+2&"/"&month($B$1)&"/"&day($B$1)))
から解説します。
COUNTIFは、第一引数に指定したセル範囲のうち、第二引数の条件にあてはまるセルの数を返す関数です。
たとえば
とした場合
A2:A100の範囲で、10より小さい数を持つセルの個数が返ってきます。
第二引数には日付条件を付けることができます。
たとえば
=COUNTIF(A2:A100,"<2021/10/21") とすれば
A2:A100の範囲で、2021年10月21日より前の日付をもつセルの個数が返ってきます。
COUNTIF(D2,"<"&year($B$1)+2&"/"&month($B$1)&"/"&day($B$1)))
の後半「year($B$1)+2&"/"&month($B$1)&"/"&day($B$1))」
は、
セルB1に指定した年月日から、「年」を取り出して+2することで、「B1セルの2年後の日付」を作成しています。
たとえばセルB1が「2021/10/21」ならば
year($B$1)+2&"/"&month($B$1)&"/"&day($B$1))
は「2023/10/21」になります
よってセルB1が「2021/10/21」ならば、条件付き書式に指定したカスタム数式は
=COUNTIF(D2,"<2023/10/21”)
と計算されるため、
D2に指定したセルが2023/10/21より前ならば「1」が返ってきます。
条件付き書式では、計算結果がゼロでなければ条件=正という意味になるので、
カスタム数式の計算結果で「1」が返ってくる場合、指定した背景色が塗られます。
また、複数の範囲を選択して条件付き書式を設定した場合、数式に指定したセル番地は自動的に
順番がずれてコピーされます。
上記の場合、D2:D40の範囲を選択して条件付き書式を設定したので、
D2セルのカスタム数式には「=COUNTIF(D2,~)」
D3セルのカスタム数式には「=COUNTIF(D3,~)」
D4セルのカスタム数式には「=COUNTIF(D4,~)」
....
...
というように、D40セルまで順番に自動的に設定されることになります。
前半の
if(and(month($B$1)=2,day($B$1)=29),COUNTIF(D2,"<"&year($B$1)+2&"/3/1")
の部分は、うるう年を考慮したものです。
B1セルにうるう年の2月29日を指定した場合、
その2年後に29日が存在しないため、正しく計算されません。
したがって、B1セルに2月29日が指定された場合は、「2年後の3月1日より前」という条件を作っています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/02 14:07
退会済みユーザー
2021/12/02 14:43
2021/12/02 23:52