我想知道这是否可行。我正在创建一个电子表格来跟踪项目截止日期。每个项目必须在第30个日历日完成,但必须在工作日上交。
目前,我只是在开始日期添加了30天,但这意味着一些截止日期并不总是准确的。例如,如果第30天是4月2日星期六,那么真正的截止日期将是4月1日星期五。
是否有办法构建条件,使截止日期等于第30个日历日,除非是在周末/假日,然后在下一个最早的工作日呢?
我一直在努力想办法做到这一点。
答案 0 :(得分:2)
对于 Excel 中的英语设置,日期为 A1 ,在 B1 中输入:
=IF(TEXT(A1+30,"DDDD")="Sunday",A1+28,IF(TEXT(A1+30,"DDDD")="Saturday",A1+29,A1+30))
这种简单的方法只处理星期六和星期日,而不是任意假期。
答案 1 :(得分:2)
我更喜欢使用WORKDAY.INTL
这样更优雅的方式=WORKDAY.INTL(A2+31,-1,1,E2:E)
说明:开始日期+31天(超过最长日历天数1天)
然后减去1个工作日 - 前一个工作日
原因:因为这个公式确实知道周末的时间(通过使用变量),并且还知道通过自定义列表跳过hollydays。
这是您可以使用的example sheet
答案 2 :(得分:0)
评论后修改:
试试这个:
=(A4+30)+CHOOSE(WEEKDAY(A4+30),1,0,0,0,0,0,-1)
您的日期,在A4,+ 30天内,然后添加一定天数,直到下一个工作日。如果A4 + 30是星期六,它将减去1天,星期日将增加1。