簡體   English   中英

Excel 日期從 yyyymmdd 到 mm/dd/yyyy 的轉換

[英]Excel Date Conversion from yyyymmdd to mm/dd/yyyy

我一直在尋找關於如何在 Excel 中執行此操作的大約一個小時。

我有一個從舊系統創建的 Excel 文件,我正在從 SQL Server 數據庫中提取信息,我會將信息輸入回 SQL Server 數據庫並希望日期匹配。

我曾嘗試創建自定義格式,但我不確定我是否正確地做到了。 我找到了幾個地方,他們想從mm/dd/yyyy轉到yyyymmdd但它們沒有幫助。

我不熟悉在任何 Microsoft 產品中使用 VBA,否則我確信這將是一個簡單的任務。

我有兩個單獨的列需要更改。

如何將整列從(float) yyyymmdd格式化為(Date) mm/dd/yyyy

您可以使用像這樣的公式將值轉換為日期,在單元格旁邊:

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

其中 A1 是您需要轉換的字段。

或者,您可以在 VBA 中使用此代碼:

Sub ConvertYYYYMMDDToDate()
   Dim c As Range
   For Each c In Selection.Cells
       c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
       'Following line added only to enforce the format.
       c.NumberFormat = "mm/dd/yyyy"
   Next
End Sub

只需突出顯示您想要修復的任何單元格並運行代碼。

請注意,正如評論中提到的RJohnson ,如果您選擇的單元格之一為空,則此代碼將出錯。 如果 c.value 為空,您可以在 c.value 上添加條件以跳過更新。

您是否有您所說的數據行(水平)或 COLUMNS(垂直)?

如果是后者,您可以使用“文本到列”功能來“原位”轉換整列 - 這樣做:

選擇列>數據>文本到列>下一步>下一步>選擇“列數據格式”下的“日期”和下拉菜單中的“YMD”>完成

....否則您可以使用公式進行轉換

=TEXT(A1,"0000-00-00")+0

並以所需的日期格式格式化

這是一個裸骨版本:

假設您在單元格 A1 中有您描述的格式的日期。 例如: 19760210

然后這個公式會給你你想要的日期:

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)).

在我的系統 (Excel 2010) 上,它適用於字符串或浮點數。

用於將dd/mm/yyyy轉換為mm/dd/yyyy

=DATE(RIGHT(a1,4),MID(a1,4,2),LEFT(a1,2))

找到了另一個(手動) 答案,對我來說效果很好

  1. 選擇列。
  2. 選擇數據選項卡
  3. 文本到列 - 打開新框
  4. (選擇分隔),下一步
  5. (取消選中所有框,文本限定符使用“無”),下一步
  6. 使用日期下拉菜單中的 ymd 選項。
  7. 單擊完成

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM