以下のような質問がありました。
年は式がありますし、月は12の剰余を取ればいいので簡単でしたが、最後の日付をどうやったら取得できるかを考えていました。取得した年と月をずらしてあげればよいのではと気づき、以下のような形で実装できました。一つずつの機能を確認していき、それらをまとめ上げて一つのフォーミュラにまとめてみます。要望通りのものが作れているのではないかと思います。Formula 2.0 で let が用意されたので、過去の日付を st に未来の日付を et に設定し、負の値の取り扱いをしないように変更します。
- ○年を取得 (常に正の値が出る)
- ○ヶ月を取得 (常に正の値が出る)
- 1, 2 のオフセットをずらした日付を取得
- オフセットをずらした日付と比較することで○日を取得 (常に正の値が出る)
- ○年○ヶ月○日の文字列を作成 (1-4 を lets で変数化して一括作成)
Aug 20, 2022
Aug 21, 2022
NaN
Aug 20, 2022 12:00 AM
Jul 31, 2022
Aug 1, 2022
NaN
Jul 31, 2022 12:00 AM
Jul 31, 2022
Aug 31, 2022
NaN
Jul 31, 2022 12:00 AM
Jun 30, 2022
Jul 30, 2022
NaN
Jun 30, 2022 12:00 AM
Jun 30, 2022
Jul 31, 2022
NaN
Jun 30, 2022 12:00 AM
May 31, 2022
Jun 30, 2022
NaN
May 31, 2022 12:00 AM
May 31, 2022
Jul 1, 2022
NaN
May 31, 2022 12:00 AM
Jan 31, 2022
Feb 28, 2022
NaN
Jan 31, 2022 12:00 AM
Jan 31, 2021
Mar 1, 2022
NaN
Jan 31, 2021 12:00 AM
Mar 1, 2022
Jan 31, 2021
NaN
Mar 1, 2022 12:00 AM
Feb 1, 2021
Jan 31, 2022
NaN
Feb 1, 2021 12:00 AM
Jan 31, 2022
Feb 1, 2021
NaN
Jan 31, 2022 12:00 AM