特定の月の第2月曜日を計算するためにどのExcel数式を使用できますか?
使用する月の最初の日を含むセルがあると想定できます。
他のユーザーの利益のために、式を変更して月の第1、第3、または第4月曜日、および他の曜日も取得する方法も説明してください。たとえば、月曜日の第3金曜日...
クイック検索で見つけたものは次のとおりです。
一般的に、あなたはこの式で月のn番目のxdayを得ることができます
=DATE(B2,A2,1+7*n)-WEEKDAY(DATE(B2,A2,8-xday))
ここで、年はB2にあり、月(1から12までの数)はA2にあり、xdayは曜日を表す数(1 =日から7までの土)なので、第1土曜日は次のようになります。
=DATE(B2,A2,1+7*1)-WEEKDAY(DATE(B2,A2,8-7))
または第4木曜日
=DATE(B2,A2,1+7*4)-WEEKDAY(DATE(B2,A2,8-5))
したがって、これを適切に読んでいる場合、2nd 月の月曜日は
=DATE(B2,A2,1+7*2)-WEEKDAY(DATE(B2,A2,8-2))
= IF((WEEKDAY(A1)> 3)、(A1 +(17-WEEKDAY(A1)))、(A1 +(10-WEEKDAY(A1)))))
A1は月の初日
これも正しく動作しませんでした。私は機能しているように見える非常に複雑な(私のイディオム)方法を思いつきました。
A2 =月
B2 =年
C2 =曜日(1〜7、1 =日曜日)
D2 = "number"(3 = 3rd xdayなど)
SO第2月曜日は、A2 =現在の月、B2 =現在の年、C2 = 2(月曜日)およびD2 = 2(第2月曜日)になります。
F2 = =IF(MONTH(IF((WEEKDAY(VALUE(($A2&"/01/"&$B2))))=$C2,(VALUE(($A2&"/01/"&$B2)))+(($D2*7)-7),IF((WEEKDAY(VALUE(($A2&"/01/"&$B2))))<$C2,((VALUE(($A2&"/01/"&$B2)))+($C2-(WEEKDAY(VALUE(($A2&"/01/"&$B2)))))+(($D2*7)-7)),(VALUE(($A2&"/01/"&$B2)))+($C2-(WEEKDAY(VALUE(($A2&"/01/"&$B2)))))+7+(($D2*7)-7))))=A2,IF((WEEKDAY(VALUE(($A2&"/01/"&$B2))))=$C2,(VALUE(($A2&"/01/"&$B2)))+(($D2*7)-7),IF((WEEKDAY(VALUE(($A2&"/01/"&$B2))))<$C2,((VALUE(($A2&"/01/"&$B2)))+($C2-(WEEKDAY(VALUE(($A2&"/01/"&$B2)))))+(($D2*7)-7)),(VALUE(($A2&"/01/"&$B2)))+($C2-(WEEKDAY(VALUE(($A2&"/01/"&$B2)))))+7+(($D2*7)-7))),"error")
私はこれを行うためのよりクリーンな方法があると確信しています(IFの1つを裏返すと、すでに気付いていますが、一部の複製を排除できます)さらに、繰り返される数式のほとんどを個別のセルに引き出して、最終的な数式をよりクリーンにすることができます。しかし、他にどのような数式が利用できるかを調査する機会がなかったので、今のところそのままにしておきます。エラーチェックと少しきれいな結果でさらに醜いバージョンを作りました。しかし、ここに投稿するには複雑すぎます。