4

我在牢房有一些工作日A1,比如 25/07/2013。我使用公式添加一个月 edate(A1,1),返回 25/08/2013,这是一个周末。我如何确保返回下一个工作日?

4

2 回答 2

5

您可以查看此链接: http: //office.microsoft.com/en-001/excel-help/workday-HP005209339.aspx,该功能WORKDAY将返回下一个工作日。Workday(A1,0)在 A1 中指定的日期之后查找下一个工作日是很有诱惑力的,但它没有做这项工作。

所以我们需要做这个技巧:

=Workday( edate(A1,1)-1 , 1 )

结果是一个数字,代表下一个工作日的序列号。诀窍是你考虑前一天,然后找到它之后的下一个工作日。因此,如果日期是工作日,它将返回它,而如果它不是工作日,它将返回下一个。

不过,我希望微软修改这个方法,这样当你输入 workday(A1,0) 时,它会自动返回下一个工作日。

因此,例如,您想查找 2013 年 6 月 27 日之后一个月的下一个工作日(应该是 2013 年 6 月 27 日,但那是星期六,所以它应该返回 2013 年 6 月 29 日):

=Workday( edate(date(2013,6,27),1)-1 , 1 )

will return you 40022,即 2013 年 7 月 29 日的日期,即下一个工作日。

要获得 2013 年 7 月 29 日的格式化结果,您需要使用Format->Cell->Date

于 2013-07-25T03:30:11.267 回答
1

我能找到的最短公式:=WORKDAY(WORKDAY(edate(A1,1),-1),1)

于 2013-07-25T03:29:28.183 回答