2011-02-04 303 views
1

我正在將美國網頁上的數據粘貼到Excel表格中。歐洲的Excel無法理解美國日期....所以我將它粘貼爲文本。將美國日期(文本)轉換爲歐洲日期(日期)的Excel轉換

美國和歐洲日期之間的區別在於日期和月份的順序不同。我如何從「美國文本日期」到「歐洲」Excel可以理解的實際日期?將它作爲日期讀取不起作用,所以YEAR(),MONTH(),DAY()將不能在本地文本字符串上工作。一些字符串轉換必須先完成。

第三欄只是爲了顯示問題。這是MONTH函數在列「A」中的文本上調用的結果。它正在考慮當月的一天,因此在到達9月13日時發生錯誤。

TEXT (from US web)  EU date (real date)   MONTH(A1) 
9/8/10 10:03 PM   8. Sep 2010     8 
9/9/10 10:03 PM   9. Sep 2010     9 
9/10/10 10:03 PM   10. Sep 2010     10 
9/11/10 10:03 PM   11. Sep 2010     11 
9/12/10 9:40 PM   12. Sep 2010     12 
9/13/10 9:40 PM   13. Sep 2010     ERROR 
9/14/10 9:40 PM   14. Sep 2010     ERROR 
9/15/10 9:28 PM   15. Sep 2010     ERROR 

如果沒有「轉換函數」,則一個解決方案可以是分裂米/ d/yy的三列和創建從一個日期。如果是這樣,我需要一些幫助將文本分成日,月和年。

更新與答案....拉撒路想出了一個工程。首先,將A列中的文本分爲年,月和日。然後結合他們,例如。使用DATE函數

  • 年份:MID(A2,FIND("/",A2,FIND("/",A2,1)+1)+1,FIND(" ",A2,1)-FIND("/",A2,FIND("/",A2,1)+1)-1)
  • 月:MID(A2,1,FIND("/",A2,1)-1)
  • 日:MID(A2,FIND("/",A2,1)+1,FIND("/",A2,FIND("/",A2,1)+1)-FIND("/",A2,1)-1)

回答

4

假設你的第一個日期在單元格A2,那麼下面將從美國轉換爲歐洲結構。

=DATE("2000"+MID(A2,FIND("/",A2,FIND("/",A2,1)+1)+1, 
FIND(" ",A2,1)-FIND("/",A2,FIND("/",A2,1)+1)-1), 
MID(A2,1,FIND("/",A2,1)-1),MID(A2,FIND("/",A2,1)+1, 
FIND("/",A2,FIND("/",A2,1)+1)-FIND("/",A2,1)-1)) 
+0

完美!只需要翻譯成我的歐洲版本。其他函數名稱和我必須使用分號;而不是逗號, – Tillebeck 2011-02-07 08:56:38

1

你可以嘗試使用Excel的DATEVALUE()函數將文本字符串轉換爲實際的Excel日期值

=DATEVALUE(MID(A1,4,2)&"/"&LEFT(A1,2)&"/"&RIGHT(A1,2)) 

然後你可以編號r格式掩蓋這個,因爲你需要

+0

感謝您對dateavalue函數的輸入。但是在這種情況下,答案的其餘部分不會成立,因爲日期和月份(年份總是2)都會有一個或兩個整數。使用RIGHT功能將從日期後寫入同一單元格的時間中選擇字符。還是非常感謝。如果拉撒路沒有準備好發佈防彈轉換線,我本可以用它來激發「最終」的線路;-) BR。安德斯 – Tillebeck 2011-02-07 09:01:07

-1

您需要使用文本到列來將初始美國值分成三個分量。然後,你會不寒而慄,讓日,月,年完成工作。通過使用Concatenate重新組裝這三個組件,並使用Rept()命令將前導零添加回需要的位置。

PKL100