如何通过添加30个日历日来计算date,结束date必须是营业日?

我想知道这是否可能。 我正在创build一个电子表格来跟踪项目截止date。 每个项目必须在30日历日之前完成,但必须在工作日上交。

目前,我只是在开始date增加了30天,但是这意味着一些到期date并不总是准确的。 例如,如果第30天是4月2日星期六,则实际到期日将是4月1日星期五。

有没有办法构build一个条件,使截止date等于第30个日历日,除非是周末/假日,然后在下一个最早的工作日?

我一直在努力想办法做到这一点。

对于Excel中的英文设置,在A1中inputdate,在B1中input:

=IF(TEXT(A1+30,"DDDD")="Sunday",A1+28,IF(TEXT(A1+30,"DDDD")="Saturday",A1+29,A1+30)) 

在这里输入图像说明

这种简单的方法只处理周六和周日,而不是任意的假期。

我喜欢使用WORKDAY.INTL更优雅的方式

 =WORKDAY.INTL(A2+31,-1,1,E2:E) 

说明:开始date+ 31天(比最大日历日多1天)

然后减去1个工作日 – 去往上一个工作日

原因:因为这个公式确实知道什么时候是周末(通过使用variables),也知道要跳过一个自定义列表中的hollydays。

这里是一个可以使用的示例表

截图

修改后的评论:

尝试这个:

 =(A4+30)+CHOOSE(WEEKDAY(A4+30),1,0,0,0,0,0,-1) 

你的date,A4,+ 30天,然后添加一个天数直到下一个工作日。 如果A4 + 30是星期六,则减1天,星期天加1。