excel中如何计算2个时间的时间差,但是要除去每天某一固定时间段,23:00---6:00,用分钟显示。

开始 结束 差值
2013-10-11 21:12 2013-10-12 9:28  
2013-10-11 12:12 2013-10-11 13:28  
excel中如何计算2个时间的时间差,但是要除去每天某一固定时间段,23:00---6:00,用分钟显示。如果2个时间都不在23:00---6:00这个时间段中正常计算。如何运用公式计算呢,请帮忙解决下谢谢谢。!!!!!!!!!!!!!!!!!!!

第1个回答  2013-10-16
C2输入=TEXT(B2-A2,"h:MM:SS")追问

每天的23:00---6:00不包括在里面呀

追答

=IF(AND(HOUR(A1)>6,HOUR(B1)>6,HOUR(A1)<23,HOUR(B1)<23),TEXT(B1-A1,"h:mm"),"")

第2个回答  推荐于2021-02-13
开始和结束时间有没有可能超过24小时?例如2013-10-11 21:12 2013-10-15 9:28追问

有可能超过24小时,大神帮忙解决解决啊!~~~~

追答

在vba中增加一个模块,输入下面函数:

Function workTime(a1 As Date, b1 As Date)
    Dim r As Long  '返回的时间,以分钟为单位
    r = 0
    Dim a2 As Date
    a2 = a1
    Do While a2 < b1
        If Hour(a2) < 23 And Hour(a2) > 5 Then
            r = r + 1
        End If
        a2 = DateAdd("n", 1, a2)
    Loop
    workTime = r
End Function

然后在需要计算的单元格输入公式:=workTime(A1,B1)

注意这里得到的时间以分钟为单位。

本回答被提问者采纳
相似回答