编辑:
当我第一次发布这个问题时,我问了一个公式来解决一个条件,但后来意识到它实际上有两个条件。
给定某一特定日期:
罗恩公式:
=A1-DAY(A1)+7-WEEKDAY(A1-DAY(A1)-2)
...fit是第一个条件,它又短又优雅。也许它可以调整,以适应第二个。
发布于 2019-09-11 01:42:07
对这个问题的看法有点不同。这似乎是可行的:
=A1-DAY(A1)+7-WEEKDAY(A1-DAY(A1)-2)
它将在这个月7日之前的星期一返回。
编辑
我必须假定你的第二个条件优先于第一个条件,否则它永远不适用。
既然如此
IF
函数来测试给定的DAY
是否小于、给定的WEEKDAY
,使用这个星期的选项开始在周一上。A1
替换为EDATE(A1,-1)
。=IF(DAY(A1)<WEEKDAY(A1,2),EDATE(A1,-1)-DAY(EDATE(A1,-1))+7-WEEKDAY(EDATE(A1,-1)-DAY(EDATE(A1,-1))-2),A1-DAY(A1)+7-WEEKDAY(A1-DAY(A1)-2))
发布于 2019-09-11 01:05:52
试着这样做,只要检查一个月的第一天是否是星期二,你就可以减去1,否则就像你已经做的那样减去工作日。
=DATE(YEAR(H20),MONTH(H20),1)+IF(WEEKDAY(DATE(YEAR(H20),MONTH(H20),1),1)=3,-1,CHOOSE(WEEKDAY(DATE(YEAR(H20),MONTH(H20),1)),1,0,6,5,4,3,2))
这也同样适用于较少的字符;
=EOMONTH(H20,-1)+IF(WEEKDAY(EOMONTH(H20,-1)+1,12)=1,0,9-WEEKDAY(EOMONTH(H20,-1)+1,11))
https://stackoverflow.com/questions/57879745
复制相似问题