計算 兩 個 日期 之 間 的 差距

計算兩個日期之間的差

Microsoft 365 Excel Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 更多...更少

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

警告: 如果 Start_date 大於 End_date,結果會為 #NUM!。

天數差異

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

周數差異

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

月份差異

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

年差

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

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

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

1. 使用 DATEDIF 尋找總計年。

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

2. 再次使用 DATEDIF 與 "ym" 以尋找月份。

在另一個儲存格中,使用 DATEDIF 公式與 "ym" 參數。 "ym" 會返回過去一整年的剩餘月數。

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

現在我們需要尋找剩餘天數。 我們會撰寫另一種公式來這麼做,如上所示。 此公式會以 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. 選擇性:將三個公式合併在一起。

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

下載我們的範例

您可以下載包含本文所有範例的範例活頁簿。 您可以追蹤,或建立您自己的公式。

下載日期計算範例

其他日期和時間計算

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

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

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

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

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

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

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

輸入類似上述範例的公式。 公式中的 1 將星期六和星期日設定為週末,並排除在總計中。

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

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

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

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

4. 輸入假日範圍名稱。

如果您在上方的「開始之前」區段建立假日範圍名稱,請像這樣在結尾輸入。 如果您沒有假日,可以將逗號和 MyHolidays 省略。 如果您使用的是 Excel 2007,上述範例會改為:=NETWORKDAYS (D53,E53,MyHolidays ) 。

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

您可以將一個時間減去另一個時間,以計算經過的時間。 首先在儲存格中放入開始時間,然後在另一個儲存格中放入結束時間。 請務必輸入完整時間,包括上午或下午的小時、分鐘和 空格。 方法如下:

1. 輸入開始時間和結束時間。

在此範例中,開始時間是在儲存格 D80 中,而結束時間是在 E80 中。 請務必在 AM 或 PM 之前輸入小時、分鐘 和空格。

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

選取這兩個日期,然後按 CtRL + 1 (或

+ 1 在 Mac) 。 如果尚未設定>,請務必選取自訂的上午/下午

3. 減去兩次。

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

4. 設定 h:mm 格式。

在 Mac 上按 CTRL + 1 (或

+ 1) 。 選擇 自訂 > h:mm, 讓結果排除 AM 和 PM。

若要計算兩個日期與時間之間的時間,您可以只減去另一個日期與時間。 不過,您必須將格式Excel每個儲存格,以確保Excel會返回您想要的結果。

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

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

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

選取這兩個儲存格,然後按下 Mac (上的 CTRL + 1 或

+ 1) 。 然後選取 日期 >3/14/12 1:30 PM。 這不是您設定的日期,只是格式外觀的範例。 請注意,在之前的版本Excel 2016,此格式可能有不同的範例日期,例如 3/14/01 1:30 PM。

3. 減去兩者。

在另一個儲存格中,從結束日期/時間減去開始日期/時間。 結果可能看起來像數位和十進位。 您將在下一個步驟中修正此問題。

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

在 Mac 上按 CTRL + 1 (或

+ 1) 。 選取 [自訂]。 在 [ 類型] 方塊中,輸入 [h]:mm

相關主題

DATEDIF 函數
NETWORKDAYS。INTL 函數
NETWORKDAYS
更多日期和時間函數
計算兩個時間之間的差值

需要更多協助?

Toplist

最新的帖子

標籤