Excel没有周末天的日期差异

问题描述 投票:1回答:1

上次我发布了一个关于日期差异挑战的相当模糊的故事,我还没有解决。我会尽力详细说明,因为我已经尝试了一切力所能及的问题仍然没有解决。

我目前有三列。

  • 第1栏(F) 汽车开始维修的日期(格式为DayOfWeek-DD-MM-YYYY)
  • 第2栏(G) 修理汽车的天数(服务水平协议[SLA];标准为10天)
  • 第3栏(H) 输出,即汽车应该完成的日期。所以startdate之后的天数*

*使这个案件困难的事情是只包括工作日。

所以,例如:

如果汽车在8月1日星期一开始维修,则完工日期是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 = Tuesday然后startdate + 12等。

这有效,但我有300多行,向下拖动此函数不会更改单元格引用。

我知道NETWORKDAYSWEEKDAY功能,但我遇到任何星期一只有1个周末通行证和2个周末通过的其他日子的问题。

excel date if-statement weekday
1个回答
0
投票

First of all, I am assuming that your first day - whatever day that may be - is considered day one (1). So in my scenario, if a SLA states 2 days to complete a repair and the start date is a Monday, I'm assuming the repair should be completed by Tuesday.

我的假设基于@RonRosenfeld的评论:

...虽然您可能需要从天数中减去1


With all that being said, try this formula in your cell instead:
NOTE: You may need to change things like commas and semi-colons to adjust for your region.

=WORKDAY($F2,$G2-1)+LOOKUP(WEEKDAY(WORKDAY($F2,$G2-1),16),{1;2;3},{2;1;0})

它能做什么:

  • WORKDAY($F2,$G2-1) 首先,如果包括周末(周六和周日),我们希望确切地知道维修应该在哪一天完成。这部分公式将简单地给我们一个起点。 $F2是您的维修开始日期 $G2是修复应该服用的天数(您可能需要为此添加一列,因为,如您所述,SLA可能会发生变化,您需要轻松调整公式)
  • WEEKDAY(WORKDAY($F2,$G2-1),16) 上面的WORKDAY函数包含在WEEKDAY函数中。这个WEEKDAY函数是为了分配数字而写入一周的每一天。 [return_type]参数16告诉Excel将它们标记为“数字1(星期六)到7(星期五)”。我们选择了16,以便我们的LOOKUP函数更容易编写。公式的这一部分只返回一位数字,而这个数字又用于计算出我们在排除周末时实际需要的星期几。
  • LOOKUP(WEEKDAY(WORKDAY($F2,$G2-1),16),{1;2;3},{2;1;0}) 我们通过使用函数的第一种形式添加LOOKUP函数的结果来完成公式: LOOKUP(lookup_value,lookup_vector,[result_vector]) 我们使用lookup_value函数在前一个项目符号点找到了WEEKDAY。现在我们希望Excel在我们的公式中使用lookup_vector - {1;2;3} - 找到正确的值添加到公式的第一部分(在我们的公式中使用[result_vector] - {2;1;0}找到)。 lookup_vector只有三个值:1,2和3。 周六有1个信号 周日有2个信号 其他日子都有3个信号
  • lookup_vector[result_vector]想象成一个矩阵/表,从中找到我们的值: 1 2 2 1 3 0
  • 如果我们的修理日数推动我们: 星期六(1),公式增加2。 星期日(2),公式加1。 任何工作日,公式加0(因为工作日是可以接受的)。

希望所有这些都是有道理的。祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.