Excel计算两个时间差?

如图所示:B列为结束时间,C列为开始时间,在D列如何用公式计算两者之差,BC列均为常规格式,D列要求显示的格式为“XX天XX小时XX分钟”,均为2位不足的用0补齐(天数差不会超过2位数),后附日期格式:2018-09-14 19:15:24,20180912 10:16:16。谢谢!

如果要计算两个时间之差,可以直接相减,但结果数字的单位是天,如果要转为分钟单位该如何操作呢?

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-02-27
你要求的是两时间相差的小时数吗?
首先,这两个数据是文本形式的,而非时间形式,所以要先把他们转换成日期时间形式。
这里用公式算出它们相差的小时数:
假设两数据分别在A1,A2,则在A3输入公式:
=(DATE(20&LEFT(A1,2),MID(A1,3,2),MID(A1,5,2))-DATE(20&LEFT(A2,2),MID(A2,3,2),MID(A2,5,2)))*24+MID(A1,7,2)-MID(A2,7,2)
如你的例子,两者相差14小时。
第2个回答  2018-09-29
首先,C列格式是错误的。在修改为正确格式后,可以使用=TEXT(B2-C2,"DD天HH小时MM分钟")
C列修改格式=--(TEXT(LEFT(C2,FIND(" ",C2)-1),"0-00-00")&" "&RIGHT(C2,LEN(C2)-FIND(" ",C2)-1))
把两个公式合在一起,即可一步解决。
=TEXT(B2---(TEXT(LEFT(C2,FIND(" ",C2)-1),"0-00-00")&" "&RIGHT(C2,LEN(C2)-FIND(" ",C2)-1)),"DD天HH小时MM分钟")
还是要说一下,数据源的规范,是很重要的。后面的公式,花了大半时间在解决格式的问题。本回答被提问者和网友采纳
第3个回答  2018-09-29
=TEXT(B2-C2,"dd天hh小时mm分钟")
相似回答