2013-05-09 100 views
0

我有一些日期格式爲「09-MAY-13 06.42.46.097127000 PM」,需要轉換成這種格式「2013-05-09T18:42:47.132Z」。我的目標是找出更早發生的事情。我不知道如何格式化這些日期。excel中的日期轉換公式

2013-05-09T18:42:47.132Z 09-MAY-13 06.42.46.097127000 PM 
2013-05-08T20:56:55.821Z 06-MAY-13 03.22.09.129443000 PM 
2013-05-08T20:51:45.287Z 06-MAY-13 03.03.22.975700000 PM 
2013-05-08T20:55:34.719Z 06-MAY-13 10.40.55.924181000 PM 

我該怎麼做?

回答

0

我最初發布了一個答案,它將您的一種格式轉換爲另一種格式。我現在明白了,你需要compare他們,這樣你就可以在A2轉換這種格式的日期/數值....

09-MAY-13 06.42.46.097127000 PM

....此。隨着式

=SUBSTITUTE(SUBSTITUTE(A2,".",":",1),".",":",1)+0

和這個格式在A3

2013-05-09T18:42:46.0​​97z

....這個公式

=SUBSTITUTE(SUBSTITUTE(A3,"T"," "),"z","")+0

您可以格式化你怎麼樣的結果,離開爲數字或格式m/d/yyyy hh:mm:ss.000或相似。你可以很容易地用公式現在比較喜歡

=B2>B3

或獲取與最小或最大

+0

你讓我的工作變得非常簡單,謝謝。 – user1772643 2013-05-10 14:22:28

0

的更小或更大。如果有在單元格A1的原創風格的值,將下面的公式中不同的細胞:

=DATE((2000+MID(A1,8,2)),MATCH(MID(A1,4,3),{"JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"},0),LEFT(A1,2))+TIME(MID(A1,11,2)+IF(RIGHT(A1,2)="PM",12,0),MID(A1,14,2),MID(A1,17,12)) 

然後,在目標小區中,應用以下的格式:

yyyy-mm-ddThh:mm:ssZ 

請注意以下事項:

  • 這是假設所有的月份是3個字符(JAN,FEB,MAR)。既然你的例子是「可能」(已經有3個字符),我不確定你的其他月份是怎麼出現的。較長的月份名稱使公式稍微複雜一些。如果你需要它並且不知道如何去做,我可以提供幫助。
  • 我找不到一種方法來強制Excel在這種複雜的日期/時間格式的上下文中顯示小數秒,即使您的示例顯示秒被細分爲千分之一。希望這不是一個交易破壞者。如果需要顯示小數秒,則可能需要使用單獨的公式來處理此問題,以便將結果顯示爲文本,而不受上述公式的影響,您可以使用它來計算哪個日期早些時候發生。
0

要添加到喬的回答... 爲了讓Excel來一列比較其他你需要從第一列第二做同樣操作的。

這看起來就像

=DATE(LEFT(A1,4),MID(A1,6,2),MID(A1,9,2))+TIME(MID(A1,12,2),MID(A1,15,2),MID(A1,18,5)) 

一旦有了這些轉變應該是簡單的讓Excel比較它們的新列。