計算兩個日期之間的差
當您想要計算兩個日期之間的差異時,請使用 DATEDIF 函數。 首先,在一個儲存格中放入開始日期,並在另一個儲存格中放入結束日期。 然後輸入類似下列的其中一個公式。
警告: 如果 Start_date 大於 End_date,結果將會是 #NUM!。
天數差異
![=DATEDIF(D9,E9,"d") 而結果為 856](https://support.content.office.net/zh-tw/media/22c08e15-d2ea-48e7-bcd1-976acc7ca817.png)
在此範例中,開始日期在儲存格 D9,結束日期在 E9。 公式在 F9。 "d" 會傳回兩個日期之間的完整天數。
週數差異
![=(DATEDIF(D13,E13,"d")/7) 而結果為:122.29](https://support.content.office.net/zh-tw/media/41e28163-d081-4314-8464-054d018b9cd3.png)
在此範例中,開始日期在儲存格 D13,結束日期在 E13。 "d" 會傳回天數。 但請注意結尾的 /7。 這會將天數除以 7,因為一週有 7 天。 請注意,此結果也需要格式化為數字。 按 CTRL+1。 然後按一下 [數字] > [小數位數: 2]。
月份數差異
![=DATEDIF(D5,E5,"m") 而結果為:28](https://support.content.office.net/zh-tw/media/21601e88-a749-4eaf-8eb2-3599512a4ef2.png)
在此範例中,開始日期在儲存格 D5,結束日期在 E5。 在公式中,"m" 會傳回兩天之間的完整月份數。
年份數差異
![=DATEDIF(D2,E2,"y") 而結果為:2](https://support.content.office.net/zh-tw/media/af258eaf-039e-4f72-a5ac-e686b25ff131.png)
在此範例中,開始日期在儲存格 D2,結束日期在 E2。 "y" 會傳回兩天之間的完整年數。
以累積的年、月及日計算年齡
您也可以計算年齡或某人的服務時間。 結果可能會像是「2 年 4 個月 5 天」。
1. 使用 DATEDIF 來尋找年總計。
![=DATEDIF(D17,E17,"y") 而結果為:2](https://support.content.office.net/zh-tw/media/21f608e6-6d77-4f8b-8d3c-c1e159376e31.png)
在此範例中,開始日期在儲存格 D17,結束日期在 E17。 在公式中,"y" 會傳回兩天之間的完整年數。
2. 再次使用 DATEDIF 搭配 "ym" 來尋找月份。
![=DATEDIF(D17,E17,"ym") 而結果為:4](https://support.content.office.net/zh-tw/media/4833a113-7df4-406b-b7ce-87cced7e6cf0.png)
在另一個儲存格中,使用 DATEDIF 公式搭配 "ym" 參數。 "ym" 會傳回最後一個完整年後的剩餘月份數。
3. 使用不同的公式來尋找天數。
![=DATEDIF(D17,E17,"md") 且結果為:5](https://support.content.office.net/zh-tw/media/a50cd076-9f82-47e6-83a5-6f408a682f84.png)
現在我們需要尋找剩餘天數的數字。 我們會撰寫另一種公式來執行此動作,如上所示。 此公式會以 E17 儲存格中的原始結束日期 (5/6/2016) 減去結束月份的第一天 (5/1/2016)。 以下是公式計算的方式:首先,DATE 函數建立了日期:5/1/2016。 接著,它會使用 E17 儲存格中的年份,以及 E17 儲存格中的月份來產生結果。 而 1 則代表該月份的第一天。 DATE 函數的結果是 5/1/2016。 然後,我們會以 E17 儲存格中的原始結束日期減去上述結果,也就是 5/6/2016。 5/6/2016 減去 5/1/2016 等於 5 天。
警告: 不建議使用 DATEDIF "md" 引數,因為它可能會計算出不正確的結果。
4. 選用:將三個公式合併成一個。
![=DATEDIF(D17,E17,"y")&" 年,"&DATEDIF(D17,E17,"ym")&" 月,"&DATEDIF(D17,E17,"md")&" 天" 而結果為:2 年,4 月,5 天](https://support.content.office.net/zh-tw/media/b26bb985-8951-4acb-a4b3-4694d6891596.png)
您可以將這三個計算放在一個儲存格中,如此範例所示。 使用 &、引號和文字。 這是輸入較長的公式,但至少全都在一個公式內。 祕訣: 按 ALT+ENTER 可在公式中放入換行符號。 這讓我們可以更輕鬆閱讀。 此外,如果看不到整個公式,請按 CTRL+SHIFT+U。
下載我們的範例
您可以下載包含本文中所有範例的範例活頁簿。 您可以直接沿用,也可以建立自己的公式。
下載日期計算範例
其他日期和時間計算
如您在以上所見,DATEDIF 函數會計算開始日期與結束日期之間的差異。 不過,您也可以在公式內使用 TODAY() 函數,而不是輸入特定日期。 使用 TODAY() 函數時,Excel 會使用您電腦目前的日期作為日期。 請記得,此資訊會於未來一天再次開啟檔案時變更。
![=DATEDIF(TODAY(),D28,"y") 而結果為:984](https://support.content.office.net/zh-tw/media/e2f04bef-aff8-4a37-904f-09e0bdab2f22.png)
請注意,撰寫本文時,這一天是 2016 年 10 月 6 日。
當您想要計算兩個日期之間的工作日數時,請使用 NETWORKDAYS.INTL 函數。 您也可以排除週末和假日。
開始之前:決定是否要排除假日。 如果確定,請在個別的區域或工作表中輸入假日日期的清單。 將每個假日日期放在其自己的儲存格中。 然後選取這些儲存格,選取 [公式] > [定義名稱]。 將該範圍命名為 MyHolidays,然後按一下 [確定]。 然後使用下列步驟建立公式。
1. 輸入開始日期和結束日期。
![在儲存格 D53 的開始日期是 1/1/2016,在儲存格 E53 的結束日期是 12/31/2016](https://support.content.office.net/zh-tw/media/d1e0e05b-2c7c-4d8e-9e33-f65324010df9.png)
在此範例中,開始日期在儲存格 D53,結束日期在儲存格 E53。
2. 在另一個儲存格中,輸入像這樣的公式:
![=NETWORKDAYS.INTL(D53,E53,1) 而結果為:261](https://support.content.office.net/zh-tw/media/e79cbb20-9c72-4fa5-9b40-d7a7756bc2ea.png)
輸入類似上述範例的公式。 公式中的 1 會將星期六和星期日建立為週末,並將其從總計排除。
3. 如有需要,請變更 1。
![Intellisense 清單顯示 2 - 星期日、星期一;3 - 星期一、星期二,依此類推](https://support.content.office.net/zh-tw/media/3c049208-0c7a-4cb8-8a92-b537cedaa3e0.png)
如果星期六和星期日不是您的週末,請從 IntelliSense 清單將 1 變更為另一個數字。 例如,2 會將星期日和星期一建立為週末。
4. 輸入假日範圍名稱。
![=NETWORKDAYS.INTL(D53,E53,1,MyHolidays) 而結果為:252](https://support.content.office.net/zh-tw/media/e9b593bd-3572-4f29-821e-ff8d2bc00db4.png)
如果您在上方的「開始之前」一節中建立了假日範圍名稱,請於結尾處輸入,如下所示。 如果您沒有假日,您可以忽略逗號和 MyHolidays。
您可以將時間相減來計算經過的時間。 首先,在一個儲存格中放入開始時間,並在另一個儲存格中放入結束時間。 務必輸入完整時間,包括小時、分鐘,以及在 AM 或 PM 前輸入一個空格。 方法如下:
1. 選取開始時間和結束時間。
![開始日期/時間 7:15 AM,結束日期/時間 4:30 PM](https://support.content.office.net/zh-tw/media/264d7550-4780-4e40-a2c0-cc28b6844eb1.png)
在此範例中,開始時間在儲存格 D80,結束時間在 E80。 務必輸入小時、分鐘,以及在 AM 或 PM 前輸入一個空格。
2. 設定 h:mm AM/PM 格式。
![設定儲存格格式對話方塊,自訂命令,h:mm AM/PM 類型](https://support.content.office.net/zh-tw/media/c2821d36-c171-4ebe-b39b-f69c7d6b9550.png)
選取這兩個日期,然後按 CTRL+1 (或在 Mac 上按
3. 兩個時間相減。
![=E80-D80 而結果為:9:15 AM](https://support.content.office.net/zh-tw/media/1b57ad7b-7aef-440b-a626-d76a6d4b975b.png)
在另一個儲存格中,從結束時間儲存格減去開始時間儲存格。
4. 設定 h:mm 格式。
![設定儲存格格式對話方塊,自訂命令,h:mm 類型](https://support.content.office.net/zh-tw/media/f6de02dc-36da-422e-b44d-3b00dcfa36c4.png)
按 CTRL+1 (或在 Mac 上按
若要計算兩個日期和時間之間的時間,您可以直接將兩者相減。 不過,您必須將格式化套用至每個儲存格,以確保 Excel 會傳回您想要的結果。
1. 輸入兩個完整日期和時間。
![開始日期 1/1/16 1:00 PM;結束日期 1/2/16 2:00 PM](https://support.content.office.net/zh-tw/media/7f847dbd-fe5b-4121-9343-ce41d3e1a82d.png)
在一個儲存格中,輸入完整的開始日期/時間。 在另一個儲存格中,輸入完整的結束日期/時間。 每個儲存格都應該有月份、日、年、小時、分鐘,以及在 AM 或 PM 之前輸入一個空格。
2. 設定 3/14/12 1:30 PM 格式。
![設定儲存格格式對話方塊,日期命令,3/14/12 1:30 PM 類型](https://support.content.office.net/zh-tw/media/bd843a18-f891-4ece-a637-70b6f903ea60.png)
選取這兩個儲存格,然後按 CTRL+1 (或在 Mac 上按
3. 兩者相減。
![=E84-D84 而結果為 1.041666667](https://support.content.office.net/zh-tw/media/8061bf97-0ef4-47d3-8c18-422dd3ee5434.png)
在另一個儲存格中,從結束日期/時間減去開始日期/時間。 結果看起來可能會像數字與小數。 您將在下一個步驟中修正。
4. 設定 [h]:mm 格式。
![設定儲存格格式對話方塊,自訂命令,[h]:mm 類型](https://support.content.office.net/zh-tw/media/2edbd461-d4c5-49a7-a5a2-b6d9329c0411.png)
按 CTRL+1 (或在 Mac 上按
相關主題
DATEDIF 函數
NETWORKDAYS.INTL 函數
NETWORKDAYS
更多日期與時間函數
計算兩個時間之間的差異