2017-01-03 22 views
1

我想天數的數日期和對應於每個日期的最後期限之間的數量,並希望沒有人有Excel工作表函數WORKDAYS經驗?它的功能是基本形式計算的工作日,我想用但略有改變這一最後期限和日期不應列入工作天數任意兩個日期之間的數,這樣就會有一個工作例如,10月12日的截止日期和10月10日的初始日期之間的日期。爲了做到這一點,我迄今爲止只是從excel函數的工作日數中減去了兩天,但是這會在截止日期或初始日期在週末時導致問題。因此,我希望你們中的任何一個人都知道如何解決我的問題?如何解釋工作日的excel函數中的週末?

的數據由以上幾種期限如所提到的,每日午夜(16年7月10日00.00.00),而初始日期是在白天的某個時間點,當某些事件發生。以2016年10月的初始日期3爲例,可以說下午3點發生了一些事情。因此,這個活動在下午3點之間沒有工作日。截止日期爲午夜(2016年10月4日00.00.00(午夜))。
我用」=if(Deadline="-";"No deadline";Workdays(Deadline;Initial Date)-2)」構建下面的數據是我到過正確計算天數的最接近,所以我希望有人在Excel中更有經驗,對如何提高櫃檯上的一些想法時,任何的日期是週末?

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 

親切的問候,

+0

我有些不明白,你的結果。我不明白「Deadline」之前的'Initial_Date'如何,即使它是,我不明白'initial_date = 2016年11月10日'和'截止日期= 2016年8月26日'''這超過了兩個月。 –

回答

1

這一公式爲您提供了0,如果A1是一個工作日,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。看看你的公式,函數名稱可能會有所不同。請檢查一下。

+0

非常感謝您的回答,這是對我的問題的一個很好的直觀解決方案!順便說一下,我已經測試了兩個以前版本的Excel中的代碼,它似乎在兩個版本中都可以正常工作! – Mathilde

+0

很高興那個答案幫了你。 –

0

我不知道什麼時候截止Initial_Date發生之前你所期望的,但由於該值爲負,你需要添加而不是減兩天。

至於調整兩個日期,以便在週末沒有出現他們,你會減掉一個日曆日,並添加一個工作日到Initial_date移動到週末後的第一個工作日;並添加一個日曆日,然後減去一個工作日以將截止日期移至上一個星期五。除非有關日期發生在週末,否則這不會改變日期。

下面的公式做一切:

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

當截止日期在最初的日期之前,它應該只顯示一個負數,因爲我對這個事件相對於截止日期的延遲感興趣。我剛剛測試了這個配方,證明它非常有幫助,非常感謝您的幫助! – Mathilde