【发布时间】:2019-02-06 11:53:59
【问题描述】:
上次我发布了一个关于我尚未解决的日期差异挑战的非常模糊的故事。我会尝试详细说明,因为我已经尽我所能尝试了所有方法,但问题仍然没有解决。
我目前有三列。
- 第 1 列 (
F)- 汽车开始维修的日期(格式 DayOfWeek-DD-MM-YYYY)
- 第 2 列 (
G)- 汽车维修天数(服务水平协议 [SLA];标准为 10 天)
- 第 3 列 (
H)- 输出,即汽车应该完成的日期。所以开始日期后的天数*
*使这个案例变得困难的是只包括工作日。
所以,例如:
如果汽车开始维修,8 月 1 日st,完成日期是8月14日,星期二。
我尝试用以下公式解决这个问题:
=IF(WEEKDAY(F218)=2;(F218+11);
IF(WEEKDAY(F218)=3;F218+12;
IF(WEEKDAY(F218)=4;F218+13;
IF(WEEKDAY(F218)=5;F218+14;
IF(WEEKDAY(F218)=6;F218+15)))))
换句话说:
如果 startdate = Monday 然后 startdate + 11,
如果 startdate = 星期二,则 startdate + 12,等等。
这可行,但我有 300 多行,向下拖动此函数不会更改单元格引用。
我知道NETWORKDAYS 和WEEKDAY 函数,但我遇到的任何星期一只有1 个周末过去,而其他日子只有2 个周末过去。
【问题讨论】:
-
你确定自动计算开启了吗?尝试 F9 手动重新计算,如果它仍然没有“下拉”,请告诉我
-
那么
=WORKDAY(start_date,days,holidays)不行吗? -
这听起来正是
WORKDAY函数的设计目的,尽管您可能需要从天数中减去 1 -
@Hambone,f9 确实有效。但是,此功能可能不是解决问题的最佳方法,对吧?例如,如果 SLA 发生变化,则需要调整整个公式。 @JvdV 和 @Ron Rosenfeld,这很完美,谢谢!使用工作日功能,我结束了一天,所以我最终使用了
=WORKDAY(A1-1;B1)。非常感谢大家! -
@joopert 这意味着需要一 (1) 天的工作将在同一天开始和结束。因此,如果这是您所期望的,那么您的解决方案就是正确的。
标签: excel date if-statement weekday