跳到主要內容

如何在Excel中將日期轉換為順序日期格式?

doc日期至序數1
眾所周知,您可以在Excel中將日期格式化為多種格式,例如1年1月2016日,1年16月XNUMX日等。 但是,您是否曾經嘗試過將日期轉換為順序日期格式,如下所示的屏幕截圖? 實際上,在Excel中,沒有直接的方法可以將日期格式化為序數日期格式。 但是不用擔心,本文在此介紹了在Excel中將日期轉換為序數日期格式的技巧。

使用公式將日期轉換為順序日期格式
使用定義的函數將日期轉換為順序日期格式
使用Kutools for Excel將日期轉換為順序日期格式
使用Kutools for Excel將基數轉換為序數 好主意3

箭頭藍色右氣泡 使用公式將日期轉換為順序日期格式

這是一個公式,可以幫助您將日期轉換為序數。

選擇要轉換為順序日期格式(例如C2)的日期旁邊的空白單元格,然後輸入此公式
=DAY(A2)&IF(OR(DAY(A2)={1,2,3,21,22,23,31}),CHOOSE(1*RIGHT(DAY(A2),1),"st","nd ","rd "),"th")&TEXT(A2,"mmmm, yyyy")
然後按 Enter 鍵,然後將自動填充手柄拖到要將日期轉換為序數的單元格上。 看截圖:
doc日期至序數2

現在,日期已轉換為順序日期。

備註:在公式中,A2是要轉換為順序日期的日期,可以根據需要進行更改。


箭頭藍色右氣泡 使用定義的函數將日期轉換為順序日期格式

此外,您還可以應用“定義的函數”將標準日期轉換為順序日期。

1。 按 Alt + F11鍵 打開鑰匙 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到腳本中。

代碼:將日期轉換為序數

Function OrdinalDate(xDate As Date)
'UpdatebyExtendoffice20160705
    Dim xDay As Integer
    Dim xDayTxt As String
    Dim xMonth As Integer
    Dim xMonTxt As String
    Dim xYear As Long
    
    xDay = Day(xDate)
    xMonth = Month(xDate)
    xYear = Year(xDate)
    
    Select Case xDay
        Case 1: xDayTxt = "st"
        Case 2: xDayTxt = "nd"
        Case 3: xDayTxt = "rd"
        Case 21: xDayTxt = "st"
        Case 22: xDayTxt = "nd"
        Case 23: xDayTxt = "rd"
        Case 31: xDayTxt = "st"
        Case Else: xDayTxt = "th"
    End Select

    xMonTxt = Switch(xMonth = 1, " January", _
                     xMonth = 2, " February", _
                     xMonth = 3, " March", _
                     xMonth = 4, " April", _
                     xMonth = 5, " May", _
                     xMonth = 6, " June", _
                     xMonth = 7, " July", _
                     xMonth = 8, " August", _
                     xMonth = 9, " September", _
                     xMonth = 10, " October", _
                     xMonth = 11, " November", _
                     xMonth = 12, " December")
    OrdinalDate = xDay & xDayTxt & xMonTxt & " " & xYear
End Function

doc日期至序數3

3.保存代碼並關閉VBA窗口,返回以選擇放置轉換日期的單元格,然後輸入此公式 = OrdinalDate(J2), 按 Enter 鍵,然後拖動填充手柄,使其突出顯示所需的單元格。 看截圖:
doc日期至序數4

尖端:在公式中,J2是要轉換為順序日期的日期,可以根據需要進行更改。


箭頭藍色右氣泡 使用Kutools for Excel將日期轉換為順序日期格式

Excel的Kutools, 與以上 300 方便的功能,使您的工作更加輕鬆。 

免費安裝 Kutools for Excel,請執行以下操作:

In Kutools 為 Excel公式助手糟糕,您可以使用 將日期轉換為原始日期 快速將Excel日期更改為序數功能。

1.選擇一個用於放置順序日期的單元格,單擊 庫工具 > 公式助手 > 日期及時間 > 將日期轉換為原始日期.
doc日期至序數5

2。 在裡面 公式助手 對話框中,選擇或在其中鍵入單元格引用 日期 部分中,默認情況下,單元格引用是絕對的,如果要使用自動填充手柄將公式自動填充到其他單元格,請將其更改為相對。
doc日期至序數5

3。 點擊 Ok。 現在,日期已更改為序數日期。 選擇結果單元格,然後將自動填充手柄拖動到單元格上以應用此公式。
doc日期至序數5


箭頭藍色右氣泡 使用Kutools for Excel將基數轉換為序數

在大多數情況下,您可能希望在排名時將數字轉換為序數。 在Excel中,沒有內置函數可以處理,但是如果有的話 Excel的Kutools –方便的添加工具,其 將數字轉換為序數 實用程序可以幫您一個忙。

選擇要轉換為序數的數字,然後單擊 庫工具 > 內容 > 將數字轉換為序數。 看截圖:
doc日期至序數5

最佳辦公生產力工具

熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

kte選項卡201905


Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Date ordinals are confusing and wrong to use, especially in the monthly sense. This anomalous usage is very alien to native users of English, is erroneously used only in certain areas. If we do use them, the correct usage is 'nth day of month', which is how it was originally meant. So, 5 October is correct, and so is October 5. But 5th October is wrong unless it includes the 'day of' part: 5th day of October. 5th October can also mean the 5th October from this year: which means the October 5 years from now!
This comment was minimized by the moderator on the site
Hello. Your VBA code works fine. I have one question can you tell me what I have do to get the first 9 numbers in a two-digit-look? 1st to 01st, 2nd to 02nd aso. I have no idea from VBA thx in advance Phenox
This comment was minimized by the moderator on the site
Sorry I did not understand your question clearly. You mean to convert first 9 numbers(123...9) to two digits(010203...09), not in date,only the numbers? Or convert the date such as 1/1/2001 to 01st Janaury 2001?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations