在 Excel 中將文字轉換為日期

在 Excel 中將文字轉換為日期

我需要您幫助將文字轉換為“2021 年 8 月 1 日至 21 月 15 日期間的價格”,截止日期為 2021 年 1 月 15 日。

我正在使用該公式=DATE(RIGHT(TRIM(RIGHT(SUBSTITUTE(TRIM(Edited!A2)," ",REPT(" ",100)),100))&"20",4),MID(TRIM(RIGHT(SUBSTITUTE(TRIM(Edited!A2)," ",REPT(" ",100)),100))&"20",4,2),LEFT(TRIM(RIGHT(SUBSTITUTE(TRIM(Edited!A2)," ",REPT(" ",100)),100))&"20",2)),但我得到的輸出是 15/01/2120 而不是 15/01/2021。

有人可以幫忙解決上述問題嗎?

答案1

因為您的字串以 8 個字元的日期結尾,後面跟著一個空格,所以我們可以使用:

=LEFT(RIGHT(TRIM(Edited!A2),8),6) & RIGHT(RIGHT(TRIM(Edited!A2),8),2)+2000

在此輸入影像描述

筆記:

這會隔離日期並將 2 位數年份轉換為 4 位數年份
如果您使用的是,可以將其縮短Excel 365
結果是一個字串,而不是真正的 Excel 日期。

編輯#1:

將月份放在第一位:

=MID(RIGHT(TRIM(Edited!A2),8),4,3) & LEFT(RIGHT(TRIM(Edited!A2),8),3) & RIGHT(RIGHT(TRIM(Edited!A2),8),2)+2000

編輯#2:

如果你使用Excel 365,然後您可以使用以下命令建立一個真正的 Excel 日期:

=LET(d,RIGHT(TRIM(Edited!A2),8)    ,DATE(RIGHT(d,2)+2000,MID(d,4,2),LEFT(d,2)))

在此輸入影像描述

答案2

這個簡單的方法對你有用嗎?

=DATEVALUE(TRIM(RIGHT(SUBSTITUTE(TRIM(Edited!A2)," ",REPT(" ",100)),100)))

正如您所說,
=TRIM(RIGHT(SUBSTITUTE(TRIM(Edited!A2)," ",REPT(" ",100)),100))獲取句子中的最後一個字串,
然後=DATEVALUE()將該字串轉換為日期時間數據,結果取決於您的計算機區域設定。
此外,您應該將列格式設為日期時間並輕鬆自訂它(mm/dd/yyyydd/mm/yyyy等)。

如果你知道最後的日期字串的長度並且它是固定長度的,那就更簡單了: =DATEVALUE(RIGHT(TRIM(Edited!A2),8))

相關內容