Excel – 从一年的任何一天开始查找特定月份的第n天

我正在创build一个每日调度报告。 报告中并不是每个职位都必须每天都有人员配备,但是有一些规则可以确定(主要是夏令时),而且我一直在试图找出一个好方法来做到这一点,需要在任何一天填写表格的人。

我的问题:从11月的第一个星期天开始,一个职位不需要一直工作。 这一直持续到3月的第二个星期天。 我希望显示这个位置的框根据今天的date(在E1中用= Today()显示)有条件地格式化

我接近了一些工作(尽pipe看起来令人厌恶),并且会引用一些资料,但是在几个月的不同任务之后,我回到了这个项目上:

=IF(MONTH(E1)>10,AND((DATE(YEAR(E1),11,1+7*1)-WEEKDAY((DATE(YEAR(E1),11,8-1))))<E1,E1<(DATE(YEAR(E1)+1,3,1+14*1)-WEEKDAY((DATE(YEAR(E1)+1,3,8-1))))),AND(DATE(YEAR((DATE(YEAR(E1),11,1+7*1)-WEEKDAY((DATE(YEAR(E1),11,8-1))))-1),MONTH((DATE(YEAR(E1),11,1+7*1)-WEEKDAY((DATE(YEAR(E1),11,8-1))))),DAY((DATE(YEAR(E1),11,1+7*1)-WEEKDAY((DATE(YEAR(E1),11,8-1)))))),E1<(DATE(YEAR(E1),3,1+14*1)-WEEKDAY((DATE(YEAR(E1),3,8-1)))))) 

它似乎在十一月的第二个星期天开始。 我现在特别慌张。 这是一个有趣的“我用计算机和布局devise很好”的交叉点,现在突然跳水比我曾经想过的要好。 记住这一点,我已经开始感受到了一点点深度,我确信VBA可以轻松做到这一点,但我不知道我在做什么的第一件事,这意味着如果有任何事情出错因为有人不小心删除了一些东西,我将无法修复它。

TL; DR:试图根据E1中的dynamic条目来触发date的移动目标。 以E1为基础find11月份的第一个星期天,第二年的3月份的第二个星期天(或者我想当年我们回滚到1月份)

 =OR(DATE(YEAR(E1),11,15-WEEKDAY(DATE(YEAR(E1),11,1),2))<=E1,DATE(YEAR(E1),3,15-WEEKDAY(DATE(YEAR(E1),3,1),2))>=E1) 

或者你可以用TODAY()replace公式中的E1。 这个等式将评估为True或False