今日の日付から月初/月末日を算出する。(締日判定)

上のサンプルでは当月の月初/月末でしたが、今度は「締日」を設定して月度単位の月初/月末日を算出します。 ※「締日」は2831日は全て末締め扱いとしています。
今度は、「月末日」を先に算出します。
月初/月末日の算出②
(画像をクリックすると、このサンプルがダウンロードできます)
見にくいので式を整理します。

 =IF($D$3>=28
     ,DATE(YEAR($B$3),MONTH($B$3)+1,0)
     ,IF(DAY($B$3)<=$D$3
         ,DATE(YEAR($B$3),MONTH($B$3),$D$3)
         ,DATE(YEAR($B$3),MONTH($B$3)+1,$D$3)
        )
    )
ここでは28日~31日は末締め扱いなので、この場合は月を跨ぎません。この分は計算式の先頭のIF関数で「翌月1日の前日」として処理しています。2番目のIF関数では「指定日」の「日」と「締日」を比較して、「指定日」の「日」の方が大きくなければその月の「締日」の日となり、そうでなければ翌月の「締日」の日となります。
次に「月初日」を算出します。
月初/月末日の算出②
見にくいので式を整理します。

 =IF(DAY(DATE(YEAR($F$4),MONTH($F$4)-1,DAY($F$4))+1)>$D$3
     ,DATE(YEAR($F$4),MONTH($F$4)-1,DAY($F$4))+1
     ,DATE(YEAR($B$3),MONTH($B$3),1)
    )
「月初日」は、原則として「月末日」に対して「前月のその日の翌日」ですが、これを算出して「日」が「締日」より小さい値になる場合は、「指定日」当月の「1日」とします。