EXCEL时间求差问题 时间格式是 月⼀日⼀年 时:分:秒 求做差啊

2024-11-15 00:06:45
推荐回答(3个)
回答1:

假设数据09/01/2012 09:08:45在A1单元格,09/01/2012 09:08:54 在B1单元格,时间差公式如下

=TEXT((MID(B1,7,4)&"/"&LEFT(B1,5))+RIGHT(B1,8)-(MID(A1,7,4)&"/"&LEFT(A1,5))-RIGHT(A1,8),"[h]:mm:ss")

当然如果你的A1,B1的数据是通过自定义( M/D/YYYY H:MM:SS )得出的数据(因为这样的数据样式实际上还是"2012/09/01 09:08:54"只是显示成09/01/2012 09:08:54这样而已,如果是这样那公式还是用

=TEXT(B1-A1,"[H]:MM:SS")

回答2:

如果你的数据是自定义的日期格式,可以直接参考楼上的公式
但如果你的日期和时间是某系统导出的文本格式,可以参考下面的方法
B1时间-A1时间=C1时间
C1输入公式
=TEXT(SUMPRODUCT((DATE(RIGHT(LEFT(A1:B1,FIND(" ",A1:B1)-1),4),LEFT(A1:B1,FIND("/",A1:B1)-1),MID(A1:B1,FIND("/",A1:B1)+1,FIND("!",SUBSTITUTE(A1:B1,"/","!",2))-FIND("/",A1:B1)-1))+trim(RIGHT(A1:B1,LEN(A1:B1)-FIND(" ",A1:B1))))*{-1,1}),"[h]:mm:ss")

回答3:

假设A,B列均为时间格式,C1输入:
=TEXT(B1-A1,"[H]:MM:SS")
---------
问题的关键是:不知道你的A,B列是不是时间格式,判别方法:单击A1,看编辑框显示的是2012-9-1 9:08:45还是09/01/2012 09:08:45,如果是前者,说明是时间格式,如果是后面说明是文本格式.
如果是文本格式,则公式改成:
=TEXT(SUBSTITUTE(MID(B1,7,4)&"/"&REPLACE(B1,6,5,),"/","-")-SUBSTITUTE(MID(A1,7,4)&"/"&REPLACE(A1,6,5,),"/","-"),"[H]:MM:SS")