Answers:
我通过快速搜索发现了以下内容:
通常,您可以使用此公式获得每月的第n个xday
=DATE(B2,A2,1+7*n)-WEEKDAY(DATE(B2,A2,8-xday))
年在B2中,月份(从1到12的数字)在A2中,而xday是代表星期几的数字(1 =星期日到7 =星期六),因此对于第一个星期六,
=DATE(B2,A2,1+7*1)-WEEKDAY(DATE(B2,A2,8-7))
或第四个星期四
=DATE(B2,A2,1+7*4)-WEEKDAY(DATE(B2,A2,8-5))
因此,如果我阅读正确,则该月的第二个星期一是
=DATE(B2,A2,1+7*2)-WEEKDAY(DATE(B2,A2,8-2))
(信用到期的信用)
我也无法正常工作。我想出了一种超级复杂(我的惯用语)的方法,似乎确实起作用。
A2 =月
B2 =年
C2 =星期几(
1-7,1 =星期日)D2 =“数字”(3 =第3 xday等)
因此第二个星期一将是A2 =当月,B2 =当年,C2 = 2(对于星期一)和D2 = 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,我可以消除一些重复),而且大多数重复的公式都可以拉到单独的单元格中,以使最终公式更清晰。但是我还没有机会研究其他可用公式,因此我现在将其保留。我还制作了一个更加丑陋的版本,其中包含错误检查和更漂亮的结果。但是它太复杂了,无法在此处发布。
=DATE(YEAR(NOW()),MONTH(NOW()),1+7*2)-WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),8-4))