2014-02-05 21 views
0

我需要幫助,因爲我遇到了這個反覆出現的問題。如何在Excel中處理不均勻的日期?

我有以下日期格式。美國的日期格式:

8/30/2013 
11/1/2014 
1/12/2014 

對於2013年8月30日,我寫=DATE(RIGHT(B2;4);LEFT(B2;1);MID(B2;3;2)),我把它稱爲「2013年8月30日」。對於其他日期,我必須一次又一次地手動重寫它們。

我怎樣才能在一行寫得到/30/2013或/12/2014年的最後日期的結果,如「2013-XX-XX?

+0

但這些確實是日期嗎?不是文字? – L42

回答

0

由於您使用的字符串操作的公式和它的工作對你的第一次約會,我認爲日期實際上是文本格式。

因此,我建議使用FIND得到的/這樣的位置:

=DATE(RIGHT(B2;4);LEFT(B2;FIND("/";B2)-1);MID(B2;FIND("/";B2)+1;FIND("/";B2;FIND("/";B2)+1)-FIND("/";B2)-1)) 

這是相當長的,我承認,但它是相當困難得到兩個特定字符之間的子字符串。如果年份始終採用該格式,那麼您可以使用稍短的公式:

=DATE(RIGHT(B2;4);LEFT(B2;FIND("/";B2)-1);MID(B2;FIND("/";B2)+1;LEN(B2)-5-FIND("/";B2))) 
+0

哇!謝謝。這是一件了不起的事情。我會嘗試瞭解現在的代碼。不期望在這找到FIND和LEN。感到驚訝,謝謝你。 – user3197575

+0

@ user3197575不客氣。如果解決了您的問題,您可以將答案標記爲[接受](http://stackoverflow.com/help/accepted-answer)。你會得到2分,並且也將你的問題標記爲已解決:) – Jerry

+0

我該如何接受?我沒有在這裏找到任何東西。 – user3197575

1

如果所有條目日期,你可以使用Text功能:

=TEXT(B2, "yyy-mm-dd") 

希望這有助於

+0

btw,如果它是您的默認分隔符,則使用';'代替','。 – L42