MONTH 函數的作用是讀取有效日期,並回傳該日期的月份數字(1 到 12)。在處理包含完整日期的原始資料時,能幫助使用者快速建立月份欄位以便後續的樞紐分析或統計。
Excel MONTH 函數語法
=MONTH(日期序號)| 參數 | 必填 | 說明 |
|---|---|---|
| 日期序號 | 是 | 要擷取月份的目標日期。可以是包含日期的儲存格參照、由其他函數傳回的日期,或是以引號包裝的日期文字。 |
回傳:介於 1 到 12 之間的整數,代表指定日期的月份。
適用版本:Excel 2007 以上、Microsoft 365
MONTH 函數範例
範例 1:基礎用法
從訂單日期中擷取月份
| 訂單編號 | 訂單日期 | 月份 |
|---|---|---|
| A001 | 2026/01/15 | |
| A002 | 2026/02/28 |
在 C2 輸入公式:
=MONTH(B2)結果:1。讀取 B2 儲存格中的訂單日期「2026/01/15」,系統會自動解析日期序號,並單獨回傳該日期的月份數字 1。
範例 2:邏輯判斷
判斷員工到職日是否為特定月份
| 員工姓名 | 到職日 | 是否為七月到職 |
|---|---|---|
| 陳怡君 | 2025/07/12 | |
| 林家豪 | 2026/03/05 |
在 C2 輸入公式:
=MONTH(B2)=7結果:TRUE。透過 MONTH 函數取得 B2 儲存格到職日的月份為 7,接著判斷該數值是否等於 7,條件成立並回傳 TRUE。
範例 3:進階組合
計算合約到期日所在月份的最後一天(搭配 DATE 和 YEAR)
| 專案名稱 | 合約起始日 | 合約期限(月) | 到期月份首日 |
|---|---|---|---|
| 官網改版 | 2026/04/10 | 6 |
在 D2 輸入公式:
=DATE(YEAR(B2), MONTH(B2)+C2, 1)結果:2026/10/01。使用 YEAR 與 MONTH 分別取得 B2 的年份與月份,將月份加上 C2 的期限 6 個月後,透過 DATE 函數組合出到期月份的第一天。
使用 MONTH 的技巧與注意事項
- MONTH 函數回傳的結果是純數字。如果需要顯示為中文「一月」或英文「Jan」,建議改用 TEXT 函數(例如 =TEXT(A1, "mmm"))。
- 當儲存格為空白時,MONTH 函數會自動回傳 1。若要避免此情況,可搭配 IF 與 ISBLANK 函數(如 =IF(ISBLANK(A1), "", MONTH(A1)))先行過濾。
MONTH 常見錯誤與解決方法
| 錯誤 | 原因 | 解決方法 |
|---|---|---|
| #VALUE! | 日期格式無法被 Excel 辨識為有效的日期序號(例如純文字的「113年5月」)。 | 將資料轉換為 Excel 支援的標準西元日期格式,或使用 DATEVALUE 函數協助轉換。 |
| 回傳結果為 1,但原儲存格看起來不是 1 月 | 目標儲存格其實是空白的。Excel 會將空白視為數值 0,對應的日期為 1900/1/0,因此月份為 1。 | 確認目標儲存格確實包含有效的日期資料。若資料可能為空,可搭配 IF 函數先判斷儲存格是否為空白。 |
Google 試算表可以用 MONTH 嗎?
Google 試算表完全支援 MONTH 函數,語法與用法與 Excel 完全相同。
下載 MONTH 範例檔
上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:MONTH 範例.xlsx(範例公式都在試算表軟體實際計算過)。
常見問題
為什麼 MONTH 函數算出來的結果是 1900/1/1 這種日期格式?
這是因為輸入公式的儲存格格式被設定為「日期」。請在儲存格上按滑鼠右鍵選擇「儲存格格式」,將格式改為「通用格式」或「數值」,即可正常顯示 1 到 12 的月份數字。
可以用 MONTH 函數直接把日期轉成英文月份縮寫嗎?
MONTH 函數只能回傳 1 到 12 的數字。如果需要顯示英文月份縮寫(如 Jan、Feb),請改用 TEXT 函數,公式寫法為 =TEXT(日期儲存格, "mmm")。
為什麼空白儲存格用 MONTH 計算會跑出 1?
Excel 系統預設將空白儲存格的數值視為 0,而 0 在日期序號中代表 1900 年 1 月 0 日,因此月份會計算為 1。建議在公式外層加上 IF 函數判斷是否為空白來排除此狀況。
相關函數
這篇收錄在「Excel 函數字典」。




