Excel で翌年の特定の曜日の最初の発生日を計算するにはどうすればよいでしょうか?

Excel で翌年の特定の曜日の最初の発生日を計算するにはどうすればよいでしょうか?

セル A1 の日付の翌年の最初の曜日を計算する必要があります。たとえば、セル A1 の日付が木曜日の場合は、翌年の最初の木曜日を計算します。セル A1 の日付が月曜日の場合は、翌年の最初の月曜日を計算します。

これどうやってするの?

答え1

私のフランス語版 Excel では:

=DATE(ANNEE(A1)+1;1;1)+MOD(7+JOURSEM(A1)-JOURSEM(DATE(ANNEE(A1)+1;1;1));7)

英語版では次のようになっているようです:

=DATE(YEAR(A1)+1,1,1)+MOD(7+WEEKDAY(A1)-WEEKDAY(DATE(YEAR(A1)+1,1,1)),7)

答え2

@CmPi さんの回答は気に入りました。別の解決策は次のとおりです。

=DATE( 
   YEAR(DATE(YEAR(B1)+1,1,1)),  
   1,  
   MOD(7+WEEKDAY(B1)-WEEKDAY(DATE(YEAR(B1)+1,1,1)),7)+1
)

健全性チェックは次のとおりです:

(日付形式は Long、米国ロケールに設定されています)

Excel からの健全性チェックのスクリーンショット

@CmPi の例では、翌年の最初の日付を見つけて、その最初の日付から同じ曜日のインスタンスに適切な日数を追加します。この方法では、同じ日付内の次の日を設定するだけです。

答え3

これを試して

=CHOOSE(WEEKDAY(DATE(YEAR(A1)+1,MONTH(A1),DAY(A1))),"Sun","Mon","Tue","Wed","Thu","Fri","Sat")

CHOOSE: 曜日配列から日を選択します (DATE: Sun、Mon、Tue など)。WEEKDAY: DATE() で計算された数値として曜日を取得します。DATE: A1 に年 +1 を追加し、A1 の月と日をそのままにして、A1 + 1 年の日付を返します。

翌年の1月1日を取得したい場合は、月と日を1に置き換えます。,MONTH(A1),DAY(A1)=>,1,1

お役に立てれば。

関連情報