2

在 Google 电子表格中,或者如果它相同,则在 Excel 中,只有当 D 本身不是工作日时,我如何才能找到 D 日的最后一个工作日。

IE:

If D equals weekday = do nothing (D equals D).
If D equals weekend = D equals last weekday.

编辑:我尝试这样做是为了让工作日离开一个月:

WORKDAY(EDATE(N18, 1)+1, -1)

但我得到了一些奇怪的结果。也许它也算红日,但我从未在任何地方指定该地区。

再次编辑:

上面的这个例子实际上是有效的,例如:

=WORKDAY("2013-04-06"+1, -1)
4

3 回答 3

11
=WORKDAY("2013-04-06"+1, -1)

......成功了。

于 2013-10-14T09:26:56.683 回答
4

另一种选择可能是:

=IF(WEEKDAY(D1, 2) > 5, D1 - (WEEKDAY(D1, 2) - 5), D1)
于 2013-10-13T14:45:26.597 回答
1

它不是那么简单,但你可以使用类似的东西:

=IF(OR(WEEKDAY(A1)=1,WEEKDAY(A1)=7),A1-CHOOSE(WEEKDAY(A1),2,,,,,,1),A1)

基本上,如果工作日是 1 或 7(周日或周六,因为这是 Excel 处理工作日的方式),如果周日返回日期减 2,如果周六返回负 1,否则返回日期本身。

于 2013-10-13T13:35:33.883 回答