2つの日付と以前の支払日が与えられた場合、2つの日付の間の最初の支払日を計算します。

2つの日付と以前の支払日が与えられた場合、2つの日付の間の最初の支払日を計算します。

私は、毎月の期間内の最初の給料日を手動で計算する必要をなくすことで、毎月の家計予算スプレッドシートの定期的な更新を簡素化しようとしています。

月間期間の開始日と終了日が指定されている場合、例:2021年4月20日~2021年5月19日、そして支払い日が毎月14日間、前回の支払い日が次のように記載されている場合2021年3月25日、その月の最初の支払日を計算することは可能ですか(例:2021年4月22日)?

月間期間内の最初の支払日がわかったら、2 番目の支払日を CellWithFirstPayDate+14 日として計算し、年に 2 回しか発生しない月の 3 番目の支払日についてもこれを繰り返します。

丸めなどに基づいて、特定の期間内の支払日の数を計算できる関連ソリューションを見たことがありますが、それらの支払日の実際の日付を計算できるソリューションは見たことがありません。

ありがとう。

答え1

これを分解すると、真ん中のステップは「開始日は 14 日間の給与期間の何日前か」です。これは前回の給与日からの日数で、余りが出るまで 14 を何度も引いたものです。これは MOD 関数が行うことです (ある数を別の数で割った余りを返します)。そこから次の給与日まであと何日かがわかります。それは 14 から上記の答えを引いたものです。セル参照で行き詰まるのを避けるために、擬似コードで次のようにします。

=PeriodStartDate + 14 - MOD(PeriodStartDate-LastPayDate,14)

関連情報