在Excel 2007中,我想要以下字符串日期/时间的差异:
A B C
1 Date1 Date2 Difference of A and B
2 2009.11.28 01:25:46:0287 2009.11.28 01:25:46:0287 ?
3 2009.11.28 01:25:46:0443 2009.11.28 01:25:46:0443 ?
我想通过将字符串转换为日期/时间然后将结果转换为两个转换日期/时间的差异来获得差异。
答案 0 :(得分:1)
计算零的一种相当长篇的方法(例子):
=SUBSTITUTE(LEFT(A2,10),".","/")+MID(A2,12,8)+RIGHT(A2,4)/86400000-(SUBSTITUTE(LEFT(B2,10),".","/")+MID(B2,12,8)+RIGHT(B2,4)/86400000)
根据特殊要求而略短:
=SUBSTITUTE(LEFT(A2,10),".","/")+REPLACE(RIGHT(A2,13),9,1,".")-(SUBSTITUTE(LEFT(B2,10),".","/")+REPLACE(RIGHT(B2,13),9,1,"."))
答案 1 :(得分:0)
我无法想出一个非常好的方法来做到这一点...希望其他人会这样做。话虽如此,以下内容可能会为您提供所需。
要转换主日期部分,请使用以下公式(假设字符串日期在A1中):
=DATE(MID(A1,1,4),MID(A1,6,2),MID(A1,9,2)) +
TIME(MID(A1,12,2),MID(A1,15,2),MID(A1,18,2))
要转换小数第二部分,请使用:
=VALUE(MID(A1,21,4))/10000
可以轻松地减去日期/时间部分,也可以减去小数部分。
我遇到麻烦的地方是将这些部分重新组合成Excel将以合理的方式实际显示的整体。我终于把两个日期之间的差异乘以86400(= 24 * 60 * 60 - 典型的一天中的秒数),然后在小数第二部分中加上差异。
希望这会有所帮助。 问候, 理查德
P.S。我不喜欢这个解决方案,其中最大的一个是公式的脆弱性 - 如果日期格式发生变化,公式将需要调整。