問題場景
-
根據任務的開始時間和實際完成時間計算該任務花費了多少天。
-
根據任務的預計完成時間和實際完成時間判斷該任務按期還是逾期。
場景一
- 計算每個任務從開始到完成花費了多少天。
目標
- 計算兩日期之間的天數。
解決方案
用DATEDIF()函數實現。
- 函數解釋:
=DATEDIF(start_date,end_date,unit)
#Start_date 開始日期
#End_date 結束日期。
#Unit 為所需信息的返回類型,一般有6個類型:"Y","M","D","YM","YD","MD"
- 例如:
=DATEDIF(A1,TODAY(),"Y")
#計算年數差
=DATEDIF(A1,TODAY(),"M")
#計算月數差
=DATEDIF(A1,TODAY(),"D")
#計算天數差
#TODAY()獲取本地系統當前日期,再與A1單元格的日期做對比。
-
第一步:在G2單元格英文狀態下輸入:=DATEDIF(D2,E2,"D")。
- 公式解釋:計算E2與D2兩日期的天數差。
- 第二步:鼠標移到G2單元格的右下角,出現實心的黑色【+】號,雙擊填充此公式。
- 第三步:最后結果。
注意Days()函數:
-
datedif()函數是WPS的函數庫自帶,Days()函數是office的函數庫自帶,都可以計算兩日期天數差。
-
WPS自帶函數庫不支持DAYS()函數。
-
office可以輸入datedif()函數計算,但在某些應用場景下,DATEDIF 函數計算結果可能並不正確。例:start_date大於 end_date,結果返回#NUM。
-
函數解釋:
#Office支持DAYS()函數,WPS不支持
=DAYS(end_time,start_time)
#End_date 結束日期。
#Start_date 開始日期。
場景二
- 判斷每個任務是否在按預計完成時間之前完成。
目標
- 用預計完成時間和實際完成時間對比,看任務是按期還是逾期。
解決方案
用IF()和datedif()函數嵌套實現。
-
第一步:在G2單元格英文狀態下輸入:=IF(DATEDIF(E2,F2,"d")>=0,"按期","逾期")。
- 公式解釋:如果預計完成時間-實際完成時間返回的天數大於或等於0,則返回"按期",否則該任務“逾期”。
- 第二步:鼠標移到G2單元格的右下角,出現實心的黑色【+】號,雙擊填充此公式。
- 第三步:最后結果,圈出來的為逾期任務。
總結
實際業務場景復雜時,如果不能一次性解決問題,可擇優使用、或可結合使用,多嘗試,辦法總比困難多!