[Salesforce]うるう年を考慮した、ある日付からちょうど一ヵ月後の日付を表示するには?(数式)
ある日付(例:商談の「完了予定日」)の「ちょうど一ヵ月後」を算出して自動表示させる項目を作成したい。
- 「30日後」ではなく、あくまでも「一ヵ月後」。
- つまり、1月15日の「一ヵ月後」は「31日後」である2月15日、2月15日の「一ヵ月後」は「28日後」(うるう年ではない場合)である3月15日。
- 1月29、30、31日の場合(翌月に該当日が無い場合)は3月1日と表示する
- うるう年も考慮する
以下の数式になります。
IF(MONTH(CloseDate)=12, DATE(YEAR( CloseDate ) +1, 1, DAY( CloseDate)),
IF(AND(
OR(
MOD(YEAR(CloseDate),400)=0,
AND(MOD(YEAR(CloseDate),4)=0,MOD(YEAR(CloseDate),100)!=0)),
AND (MONTH(CloseDate)=1, DAY(CloseDate)<30)),
DATE(YEAR( CloseDate ), MONTH(CloseDate)+1, DAY( CloseDate)),
IF(
OR(
AND (MONTH(CloseDate)=1, DAY(CloseDate)>28),
AND (MONTH(CloseDate)=3, DAY(CloseDate)=31),
AND (MONTH(CloseDate)=5, DAY(CloseDate)=31),
AND (MONTH(CloseDate)=8, DAY(CloseDate)=31),
AND (MONTH(CloseDate)=10, DAY(CloseDate)=31)
),
DATE(YEAR( CloseDate ), MONTH(CloseDate)+2, 1),
DATE(YEAR( CloseDate ), MONTH(CloseDate)+1, DAY( CloseDate))
)
)
)
コメント