在 Excel 中僅依月份排序生日-完整指南
一般情況下,當您在包含出生日期的欄位使用 Excel 的標準排序功能時,資料會依年份、月份、日期的順序進行排序。然而,在許多實際應用中——例如製作生日行事曆、規劃每月表彰活動,或產生活動提醒——您往往只關心月份,而無需考慮年份。此時,若能僅依月份(或同時依月份與日期但忽略年份)對生日進行排序,將大幅簡化清單管理,並快速掌握即將到來的重要日子。本逐步指南提供多種實用方法與優化技巧,協助您在 Excel 中高效實現僅依月份排序生日,或依月份與日期排序(忽略年份),輕鬆滿足各種實際需求。
使用輔助欄位僅依月份排序生日
在 Excel 中,若想僅依月份排序生日,最實用且彈性的方法之一就是使用輔助欄位。此方法運用 Excel 內建的 MONTH 函數,從每個日期中提取純粹的月份數值,再獨立於年份進行排序。此方式適合希望保有視覺控制、不願使用增益集或巨集的使用者,且相容於所有 Excel 版本。但請注意,您需暫時在工作表中新增一個欄位。
1. 在生日清單旁的空白欄位中(假設生日資料從儲存格 )B2 開始),於輔助欄位的第一個儲存格(例如 C2)輸入下列公式:
=MONTH(B2) 此公式會從儲存格 B2 的日期中提取月份(以 1 至 12 的數字表示)。若您的資料起始位置不同,請相應調整儲存格參照。
2. 向下拖曳自動填滿控制點,將公式套用至所有包含日期的儲存格,即可為每個生日自動產生對應的月份數字。參見截圖:

3. 選取剛剛建立的輔助欄位中所有儲存格(即月份數字),在 Excel 功能區上,前往資料> 排序小到大 或排序大到小,依您偏好的順序進行排序!

4. 當出現「排序警告」對話方塊時,請務必勾選擴充選取範圍選項,確保整行(包含所有生日資料)維持關聯,再點擊排序。

您的生日資料現已僅依月份排序,年份資訊將被忽略。確認排序無誤後,即可依需求刪除或隱藏此臨時輔助欄位。

提示與注意事項:
- 若您的資料包含空白列,Excel 在排序時會將其視為 0,可能導致順序錯亂——請務必確保該欄位已完整填寫,或事先篩選並排除空白項目。
- 分享或列印時,請記得隱藏或移除輔助欄位,讓成果更顯整潔俐落。
有時僅按月份排序仍嫌不足;當您需要同時依月份與日期整理生日(完全忽略年份),例如規劃年度慶祝行事曆時,便可採用以下公式方法。在第一個日期旁的空白儲存格中(例如 )C2),輸入:
=TEXT(B2,"MMDD") 此公式會將日期轉換為「MMDD」格式的四位數字字串,代表月份與日期。將公式向下拖曳套用至所有列後,即可依此輔助欄位進行一般排序。參見截圖:


注意事項:
- 若您的日期包含地區性格式或非標準日期,請於排序前確認輔助欄位所顯示的結果是否符合預期。
- 排序完成後,若您不再需要此輔助欄位,可選擇將其隱藏或清除。
使用 Kutools for Excel 僅依月份排序生日
若您經常處理大量生日清單,並希望更快、更直接地依月份排序,使用 Kutools for Excel 的高級排序功能可大幅節省時間!無需設定輔助欄位或公式,即可直接依月份、日期甚至星期排序,輕鬆提升工作效率。
1. 選取要依月份排序的範圍,然後前往功能區中的 KUTOOLS PLUS > 高級排序。參見截圖:
2. 在高級排序對話方塊中,於欄位指定生日欄位,並從排序依據下拉選單的月份選項中選擇,再點選確定以套用排序。參見截圖:

生日資料現已快速依月份完成排序。此方法無需額外欄位,特別適合經常處理此類任務,或不希望調整試算表結構的使用者。

注意事項:
- 若生日資料包含重複項目或空白,請檢查排序後的結果,確認所有資料皆正確對應且符合預期。
- Kutools for Excel 支援批次排序與多種進階篩選功能,助您大幅提升日常使用 Excel 的工作效率。
VBA 程式碼-自動化僅依月份排序生日
對於進階使用者,或希望在不依賴輔助欄位與第三方增益集的情況下自動依月份排序生日的人來說,VBA 巨集是一種高效且靈活的解決方案。當您定期更新或匯入新清單,並希望透過一鍵操作快速完成排序時,此方法尤其實用。
適用情境:無需新增額外欄位,即可直接依月份對所選區域的日期範圍進行排序,推薦給中階 Excel 使用者或希望加速重複作業的人員。
限制條件:此巨集僅依月份調整排序順序,將忽略日期與年份。若您需要更精細的排序(包含月份與日期),請參閱下方其他解決方案。
1. 按一下開發人員工具 > Visual Basic。在開啟的 VBA 編輯器視窗中,選擇插入 > 模組,然後將下列程式碼貼入模組中:
Sub SortByMonthOnly()
Dim rng As Range
Dim ws As Worksheet
Dim lastRow As Long
Dim sortCol As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
' Prompt user for the range
Set rng = Application.Selection
Set rng = Application.InputBox("Please select the range with birth dates to sort by month:", xTitleId, rng.Address, Type:=8)
If rng Is Nothing Then Exit Sub
Set ws = rng.Worksheet
lastRow = rng.Rows.Count + rng.Row - 1
sortCol = rng.Columns(1).Address(False, False)
' Add a temporary helper column
ws.Columns(rng.Columns(rng.Columns.Count).Column + 1).Insert
ws.Cells(rng.Row, rng.Columns(rng.Columns.Count).Column + 1).Value = "MonthTmp"
ws.Range(ws.Cells(rng.Row + 1, rng.Columns(rng.Columns.Count).Column + 1), _
ws.Cells(lastRow, rng.Columns(rng.Columns.Count).Column + 1)).FormulaR1C1 = _
"=MONTH(" & sortCol & rng.Row & ")"
ws.Range(ws.Cells(rng.Row + 1, rng.Columns(rng.Columns.Count).Column + 1), _
ws.Cells(lastRow, rng.Columns(rng.Columns.Count).Column + 1)).Formula = _
"=MONTH(" & ws.Cells(rng.Row, rng.Columns(1).Column).Address(False, False) & ")"
ws.Range(ws.Cells(rng.Row, rng.Columns(1).Column), _
ws.Cells(lastRow, rng.Columns(rng.Columns.Count).Column + 1)).Sort _
Key1:=ws.Cells(rng.Row, rng.Columns(rng.Columns.Count).Column + 1), _
Order1:=xlAscending, Header:=xlYes
ws.Columns(rng.Columns(rng.Columns.Count).Column + 1).Delete
End Sub 2. 執行程式碼的方法:在 VBA 視窗中,點擊
執行按鈕,系統將提示您選取生日範圍。請選擇儲存日期的儲存格並確認,巨集便會自動依每個日期的月份對該範圍進行排序。
常見問題與技巧:
- 此 VBA 僅針對所選的日期欄位進行排序,相鄰欄位中的資料將維持不變。
- 執行 VBA 指令碼前,請務必先備份資料,因為此類操作通常無法復原。
- 若出現「未限定參考」錯誤,請確認您僅選取了日期欄位;若資料包含標題列,也請一併納入選取範圍。
- 此巨集會暫時新增並移除輔助欄位;若格式至關重要,請於執行後仔細檢查各欄位。
Excel 公式-使用組合輔助欄位依月份與日期排序生日
若需精確依月份與日期(忽略年份)排序生日,請在輔助欄位中使用下列公式,建立結合兩者的可排序值:
1. 在生日清單旁的空白儲存格(例如 )C2)中,輸入下列公式:
=MONTH(B2)&TEXT(DAY(B2),"00") 此公式會提取月份數字與兩位數的日期字串,並將兩者串接(例如 2 月 5 日將變成「205」),確保生日排序時先依月份、再依該月份內的日期進行,完全不受年份影響。請根據您的資料位置調整參照(B2)。
2. 輸入公式後,按下 Enter,接著向下拖曳公式以填滿所有列。輔助欄位填滿後,依此欄位排序資料(使用「資料>排序」)。您的生日清單將立即準確依月份與日期排列!
實用建議:
- 若生日日期為個位數,
TEXT(DAY(B2),"00")可確保顯示為「01」、「02」……,讓排序始終正確無誤! - 如有需要,排序後可隱藏或清除輔助欄位,讓工作表更整潔清爽。
相關文章:
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用