Related topics
×
函數的常見用法
Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.
函數的常見用法

計算兩個日期之間的差

當您想要計算兩個日期之間的差異時,請使用 DATEDIF 函數。 首先,在一個儲存格中放入開始日期,並在另一個儲存格中放入結束日期。 然後輸入類似下列的其中一個公式。

警告: 如果 Start_date 大於 End_date,結果將會是 #NUM!

天數差異

=DATEDIF(D9,E9,"d") 而結果為 856

在此範例中,開始日期在儲存格 D9,結束日期在 E9。 公式在 F9。 "d" 會傳回兩個日期之間的完整天數。

週數差異

=(DATEDIF(D13,E13,"d")/7) 而結果為:122.29

在此範例中,開始日期在儲存格 D13,結束日期在 E13。 "d" 會傳回天數。 但請注意結尾的 /7。 這會將天數除以 7,因為一週有 7 天。 請注意,此結果也需要格式化為數字。 按 CTRL+1。 然後按一下 [數字] > [小數位數: 2]

月份數差異

=DATEDIF(D5,E5,"m") 而結果為:28

在此範例中,開始日期在儲存格 D5,結束日期在 E5。 在公式中,"m" 會傳回兩天之間的完整月份數。

年份數差異

=DATEDIF(D2,E2,"y") 而結果為:2

在此範例中,開始日期在儲存格 D2,結束日期在 E2。 "y" 會傳回兩天之間的完整年數。

以累積的年、月及日計算年齡

您也可以計算年齡或某人的服務時間。 結果可能會像是「2 年 4 個月 5 天」。

1. 使用 DATEDIF 來尋找年總計。

=DATEDIF(D17,E17,"y") 而結果為:2

在此範例中,開始日期在儲存格 D17,結束日期在 E17。 在公式中,"y" 會傳回兩天之間的完整年數。

2. 再次使用 DATEDIF 搭配 "ym" 來尋找月份。

=DATEDIF(D17,E17,"ym") 而結果為:4

在另一個儲存格中,使用 DATEDIF 公式搭配 "ym" 參數。 "ym" 會傳回最後一個完整年後的剩餘月份數。

3. 使用不同的公式來尋找天數。

=DATEDIF(D17,E17,"md") 且結果為:5

現在我們需要尋找剩餘天數的數字。 我們會撰寫另一種公式來執行此動作,如上所示。 此公式會以 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 天

您可以將這三個計算放在一個儲存格中,如此範例所示。 使用 &、引號和文字。 這是輸入較長的公式,但至少全都在一個公式內。 祕訣: 按 ALT+ENTER 可在公式中放入換行符號。 這讓我們可以更輕鬆閱讀。 此外,如果看不到整個公式,請按 CTRL+SHIFT+U。

下載我們的範例

您可以下載包含本文中所有範例的範例活頁簿。 您可以直接沿用,也可以建立自己的公式。

下載日期計算範例

其他日期和時間計算

如您在以上所見,DATEDIF 函數會計算開始日期與結束日期之間的差異。 不過,您也可以在公式內使用 TODAY() 函數,而不是輸入特定日期。 使用 TODAY() 函數時,Excel 會使用您電腦目前的日期作為日期。 請記得,此資訊會於未來一天再次開啟檔案時變更。

=DATEDIF(TODAY(),D28,"y") 而結果為:984

請注意,撰寫本文時,這一天是 2016 年 10 月 6 日。

當您想要計算兩個日期之間的工作日數時,請使用 NETWORKDAYS.INTL 函數。 您也可以排除週末和假日。

開始之前:決定是否要排除假日。 如果確定,請在個別的區域或工作表中輸入假日日期的清單。 將每個假日日期放在其自己的儲存格中。 然後選取這些儲存格,選取 [公式] > [定義名稱]。 將該範圍命名為 MyHolidays,然後按一下 [確定]。 然後使用下列步驟建立公式。

1. 輸入開始日期和結束日期。

在儲存格 D53 的開始日期是 1/1/2016,在儲存格 E53 的結束日期是 12/31/2016

在此範例中,開始日期在儲存格 D53,結束日期在儲存格 E53。

2. 在另一個儲存格中,輸入像這樣的公式:

=NETWORKDAYS.INTL(D53,E53,1) 而結果為:261

輸入類似上述範例的公式。 公式中的 1 會將星期六和星期日建立為週末,並將其從總計排除。

注意:Excel 2007 沒有 NETWORKDAYS.INTL 函數。 不過,它確實有 NETWORKDAYS。 上述範例在 Excel 2007 中會像這樣:=NETWORKDAYS(D53,E53)。 您不指定 1,因為 NETWORKDAYS 會假設週末是星期六和星期日。

3. 如有需要,請變更 1。

Intellisense 清單顯示 2 - 星期日、星期一;3 - 星期一、星期二,依此類推

如果星期六和星期日不是您的週末,請從 IntelliSense 清單將 1 變更為另一個數字。 例如,2 會將星期日和星期一建立為週末。

如果您使用 Excel 2007,請略過此步驟。 Excel 2007 的 NETWORKDAYS 函數一律會假設週末是星期六和星期日。

4. 輸入假日範圍名稱。

=NETWORKDAYS.INTL(D53,E53,1,MyHolidays) 而結果為:252

如果您在上方的「開始之前」一節中建立了假日範圍名稱,請於結尾處輸入,如下所示。 如果您沒有假日,您可以忽略逗號和 MyHolidays。 如果您使用 Excel 2007,上述範例會改為這樣:=NETWORKDAYS(D53,E53,MyHolidays)

祕訣:如果您不想參考假日範圍名稱,也可以改為輸入範圍,例如 D35:E:39。 或者,可以在公式內輸入每個假日。 例如,如果您的假日是在 2016 年 1 月 1 日與 2 日,您可以像這樣輸入:=NETWORKDAYS.INTL(D53,E53,1,{"1/1/2016","1/2/2016"})。 在 Excel 2007 中,它看起來像這樣:=NETWORKDAYS(D53,E53,{"1/1/2016","1/2/2016"})

您可以將時間相減來計算經過的時間。 首先,在一個儲存格中放入開始時間,並在另一個儲存格中放入結束時間。 務必輸入完整時間,包括小時、分鐘,以及在 AM 或 PM 前輸入一個空格。 方法如下:

1. 選取開始時間和結束時間。

開始日期/時間 7:15 AM,結束日期/時間 4:30 PM

在此範例中,開始時間在儲存格 D80,結束時間在 E80。 務必輸入小時、分鐘,以及在 AM 或 PM 前輸入一個空格

2. 設定 h:mm AM/PM 格式。

設定儲存格格式對話方塊,自訂命令,h:mm AM/PM 類型

選取這兩個日期,然後按 CTRL+1 (或在 Mac 上按 MAC Command 按鈕圖示的圖像+1)。 務必選取 [自訂] > h:mm AM/PM (如果尚未設定)。

3. 兩個時間相減。

=E80-D80 而結果為:9:15 AM

在另一個儲存格中,從結束時間儲存格減去開始時間儲存格。

4. 設定 h:mm 格式。

設定儲存格格式對話方塊,自訂命令,h:mm 類型

按 CTRL+1 (或在 Mac 上按 MAC Command 按鈕圖示的圖像+1)。 選擇 [自訂] > h:mm,讓結果排除 AM 和 PM。

若要計算兩個日期和時間之間的時間,您可以直接將兩者相減。 不過,您必須將格式化套用至每個儲存格,以確保 Excel 會傳回您想要的結果。

1. 輸入兩個完整日期和時間。

開始日期 1/1/16 1:00 PM;結束日期 1/2/16 2:00 PM

在一個儲存格中,輸入完整的開始日期/時間。 在另一個儲存格中,輸入完整的結束日期/時間。 每個儲存格都應該有月份、日、年、小時、分鐘,以及在 AM 或 PM 之前輸入一個空格

2. 設定 3/14/12 1:30 PM 格式。

設定儲存格格式對話方塊,日期命令,3/14/12 1:30 PM 類型

選取這兩個儲存格,然後按 CTRL+1 (或在 Mac 上按 MAC Command 按鈕圖示的圖像+1)。 然後選取 [日期] > 3/14/12 1:30 PM。 這不是您將設定的日期,只是格式外觀的範例。 請注意,在 Excel 2016 之前的版本中,此格式可能有不同的範例日期,例如 3/14/01 1:30 PM。

3. 兩者相減。

=E84-D84 而結果為 1.041666667

在另一個儲存格中,從結束日期/時間減去開始日期/時間。 結果看起來可能會像數字與小數。 您將在下一個步驟中修正。

4. 設定 [h]:mm 格式。

設定儲存格格式對話方塊,自訂命令,[h]:mm 類型

按 CTRL+1 (或在 Mac 上按 MAC Command 按鈕圖示的圖像+1)。 選取 [自訂]。 在 [類型] 方塊中,輸入 [h]:mm

相關主題

DATEDIF 函數
NETWORKDAYS.INTL 函數
NETWORKDAYS
更多日期與時間函數
計算兩個時間之間的差異

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×