date时间列落在两个时间范围之间

对我来说,它看起来更符合逻辑。 在这里,我需要把条件放在两个date时间格式的列上。 我可以使用帮手列。

我有两个列,如Dep时间和Arr时间date时间格式(4/3/2016 10:30:00 AM)。

if Dep time and arrival time falls between ( 0600-2159) diff b/w ( Dep time and Arr time) /2" if Dep time and arrival time falls between ( 2200-0559) diff b/w ( Dep time and Arr time)/1.75 

如果Dep时间和到达时间在同一date,这将起作用。

 =IF(AND(DT>V27,AT<V28),(M2-L2)/2 # Where V27 is 0600 and V28 2159 

但是,如果他们在不同的日子,例如部门时间是04/03/2016 04:00:00 AM和抵达时间是04/05/2016 07:00:00上午,所以我需要计算,多less时间是在0600-2159的时间窗口和这2200-0559这几天的全程。

感谢您的时间! 这是示例数据打印屏幕。

这里是样本数据的打印屏幕

对于0600-2159之间的时间我会用

 =(MAX(MOD(A2,1),TIME(22,0,0))-MAX(MOD(A2,1),TIME(6,0,0)))+ (INT(B2)-INT(A2))*(16/24)+ (MAX(MOD(B2,1),TIME(6,0,0))-MAX(MOD(B2,1),TIME(22,0,0))) 

第一行考虑出发时间,第二行考虑到达时间与到达时间之间的天数,最后一行处理到达时间。

mod函数返回你的date/时间的小数部分,这只是你的时间。

int函数将只返回date(没有时间)。

对于其他类别,我只是使用

= B1-A1-C1

(总时间 – 0600至2159年)