5 個在 Excel 中計算日期天數的實用方法

如果你只想知道兩個日期相差幾天,先試這個公式:

Excel
=B2-A2

假設 A2 是開始日期、B2 是結束日期。若 A2 是 2026/10/01、B2 是 2026/10/15,結果就是 14。如果結果顯示成日期,將結果儲存格改成「一般」或「數值」格式即可。

核心要點

  • 計算自然日:=B2-A2 或 =DAYS(B2,A2)。
  • 計算完整的年、月、日:使用 DATEDIF()。
  • 排除週末:使用 NETWORKDAYS()。
  • 計算距離今天還有幾天:使用 TODAY()。
  • 出現錯誤時,先檢查儲存格是否真的是日期,而不是看起來像日期的文字。

先選對公式

你想知道什麼 公式 適合情境
兩個日期相差幾個自然日 =B2-A2 最快、最容易檢查
兩個日期相差幾個自然日 =DAYS(B2,A2) 公式語意更清楚
相差幾年幾個月幾天 =DATEDIF(A2,B2,"y") 等 年齡、合約年資
相差幾個工作日 =NETWORKDAYS(A2,B2) 專案、工時、交付日
距離今天還有幾天 =B2-TODAY() 截止日期、活動倒數

方法1:直接相減

在 C2 輸入:

Excel
=B2-A2

這是最推薦的起點,因為它容易理解,也方便拖曳到整欄。Excel 會把日期儲存成連續的數字,因此相減後得到的是天數。

在Excel中使用減法找出日期之間的天數 1

檢查方式: 點選 A2 和 B2,確認公式列顯示的是日期;再點選 C2,確認儲存格格式是數值。

方法2:使用 DAYS()

Excel
=DAYS(B2,A2)

這個公式直接表達「結束日期減開始日期」,適合放在團隊共用的工作表中。若 B2 早於 A2,結果會是負數,這通常代表日期順序需要檢查。

方法3:使用 DATEDIF() 計算完整年月日

如果你要計算年齡、服務年資或合約期限,不要只看總天數。可以分別計算年、月、日:

Excel
=DATEDIF(A2,B2,"y")
=DATEDIF(A2,B2,"ym")
=DATEDIF(A2,B2,"md")

例如把三個結果組合成:

Excel
=DATEDIF(A2,B2,"y")&"年 "&DATEDIF(A2,B2,"ym")&"個月 "&DATEDIF(A2,B2,"md")&"天"

DATEDIF 的結束日期必須晚於或等於開始日期。若順序可能錯誤,先用 IF 顯示提醒,不要直接讓使用者看到 #NUM!:

Excel
=IF(B2<A2,"請檢查日期順序",DATEDIF(A2,B2,"y")&"年 "&DATEDIF(A2,B2,"ym")&"個月")

方法4:計算工作日

不排除特定假日

Excel
=NETWORKDAYS(A2,B2)

這會排除週六和週日,但會把開始日和結束日都算進去。若你有假日清單放在 H2:H20:

Excel
=NETWORKDAYS(A2,B2,$H$2:$H$20)

如果週末不是星期六、星期日,使用:

Excel
=NETWORKDAYS.INTL(A2,B2,"0000110",$H$2:$H$20)

這個例子把星期五、星期六視為週末。請依你的工作制度調整七位數的週末設定。

在Excel中使用NETWORKDAYS()找出排除假日的日期之間天數 4

方法5:計算距離今天的倒數

假設截止日期放在 B2:

Excel
=B2-TODAY()

為了避免日期已經過期仍顯示負數,可以使用:

Excel
=MAX(0,B2-TODAY())

如果你想同時顯示狀態:

Excel
=IF(B2<TODAY(),"已逾期",B2-TODAY()&" 天後到期")

在Excel中使用TODAY()函數找出自該日期以來的剩餘天數 5

常見錯誤與修正

結果顯示成日期

選取結果儲存格,將格式改為「一般」或「數值」。這不是公式錯誤,而是儲存格沿用了日期格式。

結果是負數

確認開始日期和結束日期的位置。若你希望永遠顯示正數,可使用:

Excel
=ABS(B2-A2)

但在專案或合約表中,不建議直接隱藏負數;負數可能是在提醒你資料順序有問題。

公式出現 #VALUE!

日期可能是文字。可先用 =ISNUMBER(A2) 檢查;若結果是 FALSE,請重新輸入日期,或使用「資料 > 文字分欄」轉換格式。

工作日和預期不同

確認是否需要把開始日、結束日算入,以及假日清單是否包含正確年份。

一個可以直接套用的表格

開始日期 結束日期 自然日 工作日 狀態
2026/10/01 2026/10/15 =B2-A2 =NETWORKDAYS(A2,B2) =IF(B2<TODAY(),"已逾期","進行中")

建立好第一列後,向下拖曳公式即可批次處理專案、發票或合約資料。完成後抽查一列,避免整欄引用錯誤。

何時適合使用 AI?

如果你的資料已經有數百列,而且需要同時計算工作日、標記逾期項目並整理摘要,可以把檔案上傳到 RowSpeak 後用自然語言描述需求,例如:

請在這份表格新增「工作日數」和「狀態」兩欄。使用開始日期與結束日期計算工作日,排除假日清單;如果已超過結束日期,標記為「已逾期」,最後列出逾期最多的三個專案。

無論使用公式或 AI,都要檢查日期格式、假日清單和抽樣結果。計算速度不能取代資料驗證。

快速檢查清單

  • 開始日期和結束日期是有效日期。
  • 結果儲存格不是日期格式。
  • 已決定要計算自然日還是工作日。
  • 工作日公式已加入正確的假日範圍。
  • 已抽查至少一筆結果。

結語

只要先判斷你要的是自然日、工作日、完整年月日,還是距離今天的倒數,就能選對公式。大多數情況從 =B2-A2 開始,再依需求加入 DAYS、DATEDIF 或 NETWORKDAYS 即可。

把手邊的試算表,變成團隊可核對、可分享的報告

直接使用現有的 Excel 或 CSV 檔案。RowSpeak 幫你找出值得留意的資訊,並整理成清楚的報告與儀表板,方便團隊核對、討論與分享。

用我的檔案試試

推薦文章

Excel 條件式儲存格計數實用指南
Excel技巧

Excel 條件式儲存格計數實用指南

掌握 Excel 條件式計數。本指南涵蓋從基礎 COUNTIF 用法到文字、數字與日期進階技巧,並介紹革命性 AI 工具——只需提問即可獲得相同解答。

Ruby •
在 Excel 中合併文字的 3 種簡易方法(含 AI 技巧)
Excel技巧

在 Excel 中合併文字的 3 種簡易方法(含 AI 技巧)

厭倦了在 Excel 中手動合併姓名或地址嗎?探索最快速的文字合併方法。我們將比較現代 AI 技術與 CONCAT()、TEXTJOIN() 等傳統公式,教你如何節省時間並永久避免常見的公式錯誤。

Ruby •
需要多久?Excel 計算付款週期實用指南
Excel技巧

需要多久?Excel 計算付款週期實用指南

了解還清貸款或達成儲蓄目標所需的時間。本指南解析Excel的NPER()函數,並介紹一款強大的AI替代方案,能以簡明指令回答您的財務問題,節省時間並避免常見公式錯誤。

Ruby •
更智慧的 Excel 錯誤處理:超越 ISERROR 函數
Excel技巧

更智慧的 Excel 錯誤處理:超越 ISERROR 函數

學習如何超越基本的 ISERROR 函數,有效處理 Excel 公式錯誤。本文比較傳統手動公式方法與使用 AI Excel 助手的差異,助您更快速精準地清理數據,提升工作效率。

Ruby •
在 Excel 中快速取得目前日期與時間的兩種方法
Excel 小技巧

在 Excel 中快速取得目前日期與時間的兩種方法

學習兩種在 Excel 中管理時間戳的強大方法。我們將介紹經典的 NOW() 函數用於動態日期和時間,並引入一種更快速、AI 驅動的方式來處理時間計算,無需記憶複雜公式。

Ruby •
如何在 Excel 中生成隨機數字:從基礎到 AI 的 4 種方法
Excel 小技巧

如何在 Excel 中生成隨機數字:從基礎到 AI 的 4 種方法

學習如何在 Excel 中生成隨機數字,用於模擬、數據匿名化等用途。本指南介紹 RAND()、RANDBETWEEN() 和 RANDARRAY() 函數,並引入無需公式的革命性 AI 方法。

Ruby •
停止淹沒在人力資源數據中:用 Excel AI 幾分鐘內建立員工報告
Excel技巧

停止淹沒在人力資源數據中:用 Excel AI 幾分鐘內建立員工報告

厭倦了手動使用複雜的 Excel 公式建立人力資源報告嗎?了解 Excel AI 助手如何即時計算員工人數、平均薪資及其他關鍵指標,為您節省數小時的工作時間並消除錯誤。

Ruby •
如何在 Excel 中計算平均值:公式與 AI 工具對比
Excel技巧

如何在 Excel 中計算平均值:公式與 AI 工具對比

精通 Excel 平均值計算:從基礎 AVERAGE() 到條件式 AVERAGEIF() 與 AVERAGEIFS()。探索 AI 工具如何簡化流程,讓您直接用日常語言提問,無需再與複雜公式搏鬥。

Ruby •