Note: The other languages of the website are Google-translated. Back to English
登入  \/ 
x
or
x
註冊  \/ 
x

or

如何在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將日期轉換為順序日期格式

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

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

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

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

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

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


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

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

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


最佳辦公效率工具

Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過300種強大功能。 支持Office / Excel 2007-2019和365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能30天免費試用。 60天退款保證。
kte選項卡201905

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

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 每天將您的工作效率提高50%,並減少數百次鼠標單擊!
officetab底部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Phenox · 4 years ago
    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
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      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?