在工作日如何计算周末excelfunction?

我正在计算许多date和每个date对应的截止date之间的天数,并希望任何人都有与Excel工作表函数WORKDAYS经验? 其基本forms中的函数计算了我想要使用的任意两个date之间的工作日数,但是在工作日的数量中不应该包括最后期限和date的轻微更改,以便有一个工作日例如,10月12日的截止date和10月10日的初始date之间的一天。 为了做这个改变,我已经从excel函数的工作天数中减去了两天,但是当最后期限或者最初的date是在一个周末的时候,这会导致问题。 因此,我希望你们中的任何一个人有一个想法如何解决我的问题?

数据包括上面提到的几个截止date,每个截止date是午夜(7/10/16 00.00.00),而最初的date是在一些事件发生当天的某个时间点。 以2016年10月3日的起始date为例,可以说下午3点发生了一些事情。因此,本次活动在下午3点和截止时间午夜(2016年10月4日00.00.00(午夜))。
我已经使用了”=if(Deadline="-";"No deadline";Workdays(Deadline;Initial Date)-2)”来构build以下最接近的数据,我已经正确地计算了天数我希望有更多有经验的人在任何一个周末的时候都有一些关于如何改善柜台的想法?

 Deadline Initial Date No. work days 7/10/16 5/10/16 1 - 11/10/16 No deadline 26/8/16 10/11/16 -34 - 7/10/16 No deadline 1/9/16 7/10/16 -29 24/10/16 18/10/16 3 - 3/10/16 No deadline 24/10/16 17/10/16 4 17/10/16 10/10/16 4 30/9/16 4/11/16 -28 11/11/16 2/11/16 6 1/11/16 14/10/16 11 11/10/16 30/10/16 -16 4/10/16 3/10/16 0 

亲切的问候,

如果A1是工作日,则这个公式给你0,否则给1。

 =IF(WORKDAY(A1-1,1)=A1,0,1) 

所以,你应该改变你的公式

 =if(Deadline="-";"No deadline";Workdays(Deadline;Initial Date)- (IF(WORKDAY(Initial Date-1,1)=Initial Date;0;1)) + IF(WORKDAY(Deadline-1,1)=Deadline;0;1)) ) 

注意:我使用的是Excel 2016,函数被命名为WORKDAYNETOWRKDAYS 。 看看你的公式,函数名称可能会有所不同。 请检查一下。

我不确定您在Initial_Date之前发生截止date时的期望,但由于该值为负数,因此您需要添加而不是减去两天。

至于调整两个date,使他们不会在周末发生,您将减去一个日历日,并添加一个工作日将Initial_date移动到周末后的第一个工作日; 并添加一个日历日,然后减去一个工作日,将截止date移至上一个星期五。 除非有关date在周末发生,否则不会改变date。

下面的公式可以做到这一点:

 =IF(Deadline="-","No Deadline",NETWORKDAYS(WORKDAY(Initial_Date-1,1),WORKDAY(Deadline+1,-1))-2*SIGN(Deadline-Initial_Date))