2013-05-09 123 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比较它们的新列。