在 Excel 中,處理日期資料時常會遇到格式錯誤、欄位拆解或動態計算的困擾。DATE 函數正是為了解決這些問題而設計。它能根據「年、月、日」三個數值組合成有效的日期格式,並自動處理跨月、跨年與不合法日期的調整。無論你是在建立報表日期欄位、計算到期日、或搭配其他時間函數進行動態分析,DATE 都是不可或缺的基礎工具。
🔹快速摘要(語法、用途、常見場景)
- 用途:根據年、月、日組合成有效日期值
- 語法:
=DATE(年, 月, 日) - 常見場景:建立報表日期欄位、合併拆解欄位、計算到期日、處理跨月跨年日期
一、DATE 函數語法與用途:建立有效日期的基礎工具
語法:=DATE(年, 月, 日)
- 年:四位數年份(如 2025)
- 月:1–12 的月份,超過 12 會自動進位
- 日:1–31 的日期,超過該月天數會自動進位
DATE 函數會自動處理不合法日期,例如 =DATE(2025, 13, 5) 會回傳 2026/1/5。
二、範例教學:五個基礎 + 五個進階範例
🔸基礎範例(適合初學者快速掌握用途)
範例一:建立固定日期
=DATE(2025, 10, 8)
回傳 2025/10/8。
範例二:合併三個欄位為日期
=DATE(A2, B2, C2)
將 A2(年)、B2(月)、C2(日)組合成日期。
範例三:建立本月第一天
=DATE(YEAR(TODAY()), MONTH(TODAY()), 1)
回傳本月的第一天。
範例四:建立本月最後一天
=DATE(YEAR(TODAY()), MONTH(TODAY()) + 1, 0)
回傳本月最後一天(利用「下月第 0 天」技巧)。
範例五:建立明年同一天
=DATE(YEAR(TODAY()) + 1, MONTH(TODAY()), DAY(TODAY()))
回傳明年同一天的日期。
🔸進階範例(適合報表設計與動態應用)
範例六:處理跨月進位(自動調整)
=DATE(2025, 15, 10)
回傳 2026/3/10,自動將第 15 月轉為第 3 月。
範例七:建立到期日(加上天數)
=DATE(2025, 10, 8) + 30
回傳 2025/11/7,表示 30 天後的日期。
範例八:建立動態報表起始日
=DATE(YEAR(TODAY()), MONTH(TODAY()) - 1, 1)
回傳上月第一天,適合用於月報起始日。
範例九:搭配 TEXT 顯示格式化日期
=TEXT(DATE(2025, 10, 8), "yyyy-mm-dd")
回傳 2025-10-08,以指定格式顯示。
範例十:建立條件日期(若欄位為空則用預設日)
=IF(ISBLANK(A2), DATE(2025, 1, 1), DATE(A2, B2, C2))
若 A2 為空,則使用預設日期 2025/1/1。
三、常見問題解答(FAQ)
Q1:DATE 和 TEXT 有什麼差別?
DATE 回傳的是真正的日期值,TEXT 是將日期格式化為文字。
Q2:DATE 可以處理不合法日期嗎?
可以,DATE 會自動進位,例如第 13 月會轉為隔年第 1 月。
Q3:DATE 可以搭配哪些函數使用?
常見搭配函數包括 YEAR、MONTH、DAY、TODAY、TEXT、IF、ISBLANK 等。
Q4:DATE 可以用在條件格式或資料驗證嗎?
可以,只要回傳的是有效日期值即可。
Q5:DATE 可以處理西元前或非四位數年份嗎?
不建議,Excel 的日期系統以 1900 年為起點,早於此可能產生錯誤。
四、注意事項與錯誤排除
- DATE 只接受數值型態的年、月、日,文字格式會導致錯誤
- 超過月份或日期會自動進位,但可能造成邏輯誤判,需特別注意
- 若欄位為空白或非數值,可能回傳
#VALUE!錯誤 - DATE 回傳的是序列值(日期),可直接進行加減運算
- 若需格式化顯示,請搭配 TEXT 函數或設定儲存格格式
五、延伸技巧與相關函數
- TODAY 函數:回傳今天日期,常搭配 DATE 使用
- TEXT 函數:格式化日期為指定文字格式
- EOMONTH 函數:回傳某月最後一天
- YEAR / MONTH / DAY 函數:拆解日期欄位
- IF / ISBLANK 函數:建立條件日期邏輯
六、結語與延伸閱讀推薦
DATE 函數是 Excel 中處理日期資料的基礎工具,適合用在報表欄位建立、動態計算、格式轉換等情境。學會 DATE 後,你可以進一步探索:
- [TODAY 函數教學:取得當日日期的動態方法]
- [TEXT 函數教學:格式化日期與數值的關鍵技巧]
- [EOMONTH 函數教學:計算月底日期與到期日的實用工具]
如果你覺得這篇 DATE 函數教學實用,歡迎收藏、分享或加入你的函數學習清單。




















