無法在 Excel 中將文字轉換為所需的 dd-mm-yyyy

無法在 Excel 中將文字轉換為所需的 dd-mm-yyyy

嘗試解決以下 Excel 問題時感到頭痛:我正在使用 Excel 2003:從以下格式的 text.txt 匯入數千條資料並嘗試分割 dd-mm-yyyy

-> 6022015(7號)

->26012015(8號)

在 Excel 中,資料工具>文字到列>固定寬度

-> 6!02!2015 (7 號)

->2015年1月26日(8號)

列資料格式,選擇常規,然後完成。對於 7 個數字,成功地將它們分成 3 列。但對於 8 號,會出現以下錯誤。下面是結果

->26012015 改為->2 60 12015 " 這應該是 26 1 2015"

-> 6022015 改為->6 2 2015

有人可以找出錯誤並提供解決方案嗎?

答案1

希望您的日期採用“ddmmyyyy”格式,而不是文字到列,請嘗試尋找和替換“!”沒有什麼然後套用下面的公式。

=IF(LEN(A2)=8,LEFT(A2,2)&"-"&MID(A2,3,2)&"-"&RIGHT(A2,4),"0"&LEFT(A2,1)&"-"&MID(A2,2,2)&"-"&RIGHT(A2,4))

希望這是您所期望的:)

答案2

假設原始資料採用dmmyyyy(7 位元)或ddmmyyyy(8 位元)格式。

  1. 只需將所有資料複製到 A 列(或將資料匯入 A 列)。

  2. 進入B1 =DATE(RIGHT(A1,4),MID(A1,LEN(A1)-5,2),LEFT(A1,LEN(A1)-6)),向下複製。

  3. 將 B 列格式設定為dd-mm-yyyy. B 列將是您想要的。

答案3

試試這個:

=substitute(a1,"!","/")

為了更好地衡量,如果它沒有作為日期返回,請嘗試添加零:

=substitute(a1,"!","/")+0

和/或,如果儲存格包含任何空白(詳細文字的左側或右側),則修剪儲存格:

=trim(substitute(a1,"!","/")+0)

答案4

我個人會使用所採取的方法wilson,將其拆開然後再重新組合起來。但是,如果您希望精靈成功Text to Columns,則必須具有分隔符號或相同長度的資料。

相同長度的資料很容易實現。只需在旁邊或任何方便的地方使用“輔助列”,然後使用以下公式:

=IF(LEN(A1)=7,")"&A1,A1)

需要向下複製多少才能獲得包含八個字元值的列。完成後,複製該列並Paste|Values|Special取得一列值,而不是公式。使用Text to Columns固定寬度的嚮導,這樣您就可以告訴它將事物解釋為日期,一列(您不希望它分成幾部分),並告訴它DMY日期類型。

它將為您提供一列輸出,現在將是“真實日期”,您可以複製該輸出,然後將其貼上到原始資料上。或透過它,或其他什麼。

關鍵是使資料的長度全部為八個字符,以便可以對它們進行相同的處理:Excel 無法判斷七位數的資料是一位數的日期、兩位數的月份,還是反之亦然,因此您必須解決這個問題。

如果你有一些六位數的數字,這將是相同的基本想法,只是填充起來有點困難。

另外,這對您有用,因為您知道最後四位數字是年份,沒有兩位數年份,而且月份都是兩位數值,沒有一位數月份。如果您不能確定這一點,則需要更複雜的方法。

相關內容