KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中將年、月、日合併為完整的日期?

作者Siluvia修改日期

在 Excel 中處理不同資料集時,您可能會遇到日期的年、月、日分別儲存在不同儲存格的情況,例如 A2 儲存月份、B2 儲存日期、C2 儲存年份。將這些元素合併為單一儲存格中的真實日期格式,不僅提升資料可讀性,還能輕鬆進行日期計算、排序與格式設定。以下範例展示了分開的數值及其合併後所形成的日期:

顯示 Excel 中日期串接範例的螢幕截圖

本教學介紹多種將年、月、日串接為 Excel 日期的方法,滿足您在計算與呈現上的不同需求。無論您需要簡潔的文字結果、真正的日期值,還是自動化的批次處理方案,都能找到最適合的選擇。

使用公式將年、月、日串接為日期
使用強大工具將年、月、日串接為日期
Excel 公式-使用 DATE 函數建立真實的 Excel 日期值
VBA 程式碼-自動將年、月、日數值串接為 Excel 日期格式(適用於多列)


使用公式將年、月、日串接為日期

若您的主要目的是在單一儲存格中顯示組合後的日期文字字串,可使用基本的串接公式。這是快速呈現完整日期的簡便方法,但結果仍為文字,而非真正的 Excel 日期值,因此無法對該結果進行日期計算,也無法套用自動日期格式。

1. 選取要顯示串接日期的空白儲存格,並在編輯欄中輸入下列公式:

=A2&"/"&B2&"/"&C2

輸入公式後,按下 Enter 鍵確認。

顯示用於在 Excel 中串接年、月和日的公式的螢幕截圖

2. 若要將此公式套用至其他列,請從已填入公式的儲存格向下拖曳「填滿控點」,覆蓋該欄中的其他儲存格,即可為所選範圍內的每一列自動串接對應的年、月、日。

注意:在此公式中,「/」字元作為年、月、日之間的分隔符號。您可根據本地日期格式或專案需求,靈活調整為短橫線「——」或句點「。」等其他分隔符號!

顯示將年、月和日串接成日期結果的螢幕截圖

透過此方法,可有效合併分開的年、月、日數值。然而,由於結果為文字字串,若需進一步進行排序或日期運算等操作,則必須轉換為真正的日期格式。


使用強大工具將年、月、日串接為日期

合併功能內建於 Kutools for Excel,提供直覺操作,輕鬆將多個儲存格的內容整合至單一儲存格,無需複雜公式即可大幅提升效率!若您需要重複執行此作業或處理大範圍資料,Kutools 的批次合併功能搭配自訂分隔符號與彈性輸出選項,絕對是您的得力助手。

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

若要使用此功能,請確保您的年、月、日資料位於相鄰的欄位中,並依照下列步驟操作:

1. 選取包含年、月、日的相關欄位,然後點選 Kutools > 合併和拆分 > 合併行/列/儲存格並保留值

Kutools for Excel 的「合併儲存格、列或欄而不遺失資料」工具螢幕截圖

2. 在彈出的合併列或列對話方塊中,設定下列選項:

2.1) 選擇合併列若您的數值位於不同欄位中。
2.2) 選取其他分隔符號並輸入/作為您偏好的符號。
2.3) 在將合併後的值放在下拉選單中指定結果的放置位置,例如新欄位或原始資料旁邊。
2.4) 在選項區段中,決定是否保留或刪除原始儲存格內容。多數情況下,選取刪除這些儲存格的內容有助於避免資料重複。
2.5) 按一下確定以套用變更。合併後的日期字串將依設定顯示。

顯示「合併欄或列」對話框的螢幕截圖

完成上述步驟後,您所選的儲存格將合併為單一字串日期。Kutools 提供簡便可靠的大型資料集處理方案,並支援多種自訂設定,輕鬆滿足不同需求。設定分隔符號時,請留意本地日期格式的差異。

Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得


Excel 公式-使用 DATE 函數建立真實的 Excel 日期值

若您不僅希望顯示日期,還需進行進一步計算、套用自動格式或使用 Excel 的日期函數,建議將數值轉換為真正的日期格式。Excel 的 DATE 函數即可輕鬆達成此目的!透過將年、月、日合併為序列日期數值,您便能立即執行期間計算、排程安排及依日期排序等操作,大幅提升工作效率!

適用情境:當您需要取得真正的 Excel 日期格式(而非文字字串)時使用,特別適用於財務報表、時間追蹤,或任何需依時間順序進行分析的任務。

注意事項:請確保每個儲存格皆填入有效數值(例如月份為 1 至 12、日期在該月份的有效範圍內,且年份正確),以免公式產生錯誤。

1. 點選要顯示真實日期的空白儲存格(例如 D2),並輸入下列公式:

=DATE(C2,A2,B2)

在此公式中,C2 應填入年份、A2 填入月份、B2 填入日期。請根據您工作表的實際結構調整儲存格參照。

2. 按 Enter 鍵確認公式。結果儲存格將包含真實的日期值,您可透過開始> 數字格式 選項,將其設定為「mm/dd/yyyy」或其他日期格式。

3. 若要將公式套用至其他列,請選取結果儲存格,並使用「填滿控點」向下拖曳,即可將公式快速套用至整個資料集!

提示:若您看到的是序列數字而非一般日期,請選取該儲存格(或儲存格範圍),按右鍵並選擇設定儲存格格式 > 日期,即可立即將數值轉換為標準日期格式!

注意事項:若參照的儲存格包含非數值文字,可能會出現 #VALUE! 等錯誤。請確認年、月、日的順序是否與您的資料一致。


VBA 程式碼-自動將年、月、日數值串接為 Excel 日期格式(適用於多列)

對於進階的批次處理或自動化作業(特別是在處理大量資料或希望免除手動輸入時),使用 VBA 是極其實用的選擇。只需撰寫簡單的巨集,即可在指定欄位中串接數值,於整個資料集中生成真正的 Excel 日期。此方法兼具高度彈性與效率,單次點擊就能輕鬆處理數百甚至數千列資料。

適用情境:當您面對重複性高、規模龐大的任務,需在指定欄位中產生真實日期值,或希望進一步自訂時,請選擇 VBA 自動化。

1. 點選開發人員工具Visual Basic,即可開啟 Excel 的 VBA 編輯器。當 Microsoft Visual Basic for Applications 視窗出現後,點選插入 模組

2. 將下列程式碼複製並貼上至新模組中:

Sub ConcatDateToTrueDate_Fixed()
'Updated by Extendoffice 20250903
    Dim ws As Worksheet
    Dim StartCell As Range
    Dim i As Long
    Dim lastRow As Long
    Dim yearCol As String
    Dim monthCol As String
    Dim dayCol As String
    Dim outCol As String
    Dim xTitleId As String
    
    xTitleId = "Date Conversion"
    
    Set ws = ActiveSheet
    
    On Error Resume Next
    Set StartCell = Application.InputBox("Select the FIRST DATA CELL in your table (e.g., A2). The macro will process all rows below it.", xTitleId, ws.Range("A2").Address, Type:=8)
    On Error GoTo 0
    
    If StartCell Is Nothing Then Exit Sub
    
    yearCol = UCase(Trim(Application.InputBox("Enter the LETTER of the YEAR column (e.g., C):", xTitleId, "C", Type:=2)))
    monthCol = UCase(Trim(Application.InputBox("Enter the LETTER of the MONTH column (e.g., A):", xTitleId, "A", Type:=2)))
    dayCol = UCase(Trim(Application.InputBox("Enter the LETTER of the DAY column (e.g., B):", xTitleId, "B", Type:=2)))
    outCol = UCase(Trim(Application.InputBox("Enter the LETTER of the OUTPUT column (e.g., D):", xTitleId, "D", Type:=2)))
    
    If Len(yearCol) <> 1 Or Len(monthCol) <> 1 Or Len(dayCol) <> 1 Or Len(outCol) <> 1 Then
        MsgBox "Invalid column letter entered. Please enter a single letter (e.g., A, B, C).", vbExclamation, xTitleId
        Exit Sub
    End If
    
    lastRow = Application.Max(ws.Cells(ws.Rows.Count, yearCol).End(xlUp).Row, _
                              ws.Cells(ws.Rows.Count, monthCol).End(xlUp).Row, _
                              ws.Cells(ws.Rows.Count, dayCol).End(xlUp).Row)
    
    If StartCell.Row > lastRow Then
        MsgBox "No data found to process.", vbInformation, xTitleId
        Exit Sub
    End If
    
    Application.ScreenUpdating = False
    
    For i = StartCell.Row To lastRow
        If IsNumeric(ws.Cells(i, yearCol).Value) And _
           IsNumeric(ws.Cells(i, monthCol).Value) And _
           IsNumeric(ws.Cells(i, dayCol).Value) Then
            
            On Error Resume Next
            ws.Cells(i, outCol).Value = DateSerial( _
                Year:=ws.Cells(i, yearCol).Value, _
                Month:=ws.Cells(i, monthCol).Value, _
                Day:=ws.Cells(i, dayCol).Value)
            If Err.Number <> 0 Then
                ws.Cells(i, outCol).Value = "Invalid Date"
                Err.Clear
            End If
            On Error GoTo 0
        Else
            ws.Cells(i, outCol).Value = ""
        End If
    Next i
    
    Application.ScreenUpdating = True
    
    MsgBox "Date conversion completed successfully! Processed rows: " & (lastRow - StartCell.Row + 1), vbInformation, xTitleId
End Sub

3. 若要執行程式碼,請點選執行按鈕按鈕。系統將提示您選取資料集中的起始儲存格,並指定年、月、日所在欄位與結果日期的輸出位置。

完成後,巨集將於指定的輸出欄位中填入真正的 Excel 日期值,可直接用於計算或格式設定。若發生錯誤,請先確認欄位參照與資料完整性,再重新執行。

實用提示:執行巨集前,務必先儲存您的工作!若需重複使用,建議將程式碼儲存為工作簿中的自訂巨集,方便隨時調用。


選擇方法時,請根據您對計算能力、自動化程度及操作簡便性的需求來考量。若只需簡單顯示,直接串接快速又高效;而 DATE 函數與 VBA 方案則能提供真正的日期值,適合進行深入分析與後續操作。Kutools 則針對多樣化的資料格式,提供高效的批次處理與彈性設定選項。

若出現錯誤(例如資料格式不符、數值無效或公式失敗),請重新檢查來源儲存格與參照內容。您可在公式或 VBA 中加入錯誤處理機制,以提示使用者進行修正。大多數真實日期的顯示問題,只需調整單元格格式即可輕鬆解決。

相關文章:

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 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 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用