问题的提出:
日期时间1——2005-5-15 9:10:45
日期时间2——2005-9-16 11:10:25
计算:日期时间2-日期时间1
结果表达:“××(天) h:mm:dd”
问题分析及思路:
形如“2005-5-15 9:10:45”的日期时间数据可以用日期时间序列值表示。这个值是小数,其中整数部分表示天数,小数部分表示时间(可以转换成“时-分-秒” )。
用截尾取整函数TRUNC提取整数表示天数,用日期时间“2005-5-15 9:10:45”的序列值减去整数部分,其差表示时间的序列值。再用TXET函数把表示时间的序列值表示成“h:mm:dd”时间格式。
日期时间2-日期时间1=TRUNC()&" "&TXET()
解决方案:
假定
A2中输入日期时间1“2005-5-15 9:10:45”
B2中输入日期时间2“2005-9-16 11:10:25”
在C2中编辑公式——
=IF(OR(A2="",B2=""),"",TRUNC(B2-A2)&" "&TEXT(B2-A2-TRUNC(B2-A2),"h:mm:ss"))
公式释义:
如果(IF)A2或B2是空白单元格(""),则显示空字符("");否则返回两个日期时间差的天数(TRUNC(B2-A2))和(&)时间差(时-分-秒——TEXT(B2-A2-TRUNC(B2-A2),"h:mm:ss"))。
假设A2单元格是起始时间,B2是结束时间。在其他如C2单元格写下公式:
1、时:分:秒格式(不计算天数): =TIME(HOUR(B2-A2),MINUTE(B2-A2),SECOND(B2-A2))
2、天时分秒格式: =CONCATENATE(DATEDIF(A2,B2,"d"),"天",HOUR(B2-A2),"时",MINUTE(B2-A2),"分",SECOND(B2-A2),"秒")
3、时分秒格式(将天数转换成小时): =CONCATENATE(DATEDIF(A2,B2,"d")*24+HOUR(B2-A2),"时",MINUTE(B2-A2),"分",SECOND(B2-A2),"秒")
4、全都换算成秒: =DATEDIF(A2,B2,"d")*24*3600+HOUR(B2-A2)*3600+MINUTE(B2-A2)*60+SECOND(B2-A2)