Excel 日期时间列位于两个时间范围之间

Excel 日期时间列位于两个时间范围之间,excel,excel-formula,logic,Excel,Excel Formula,Logic,在我看来,这更符合逻辑。在这里,我需要在日期时间格式的两列上设置条件。我可以使用helper列 我有两个列,如日期时间格式的Dep time和Arr time(2016年3月4日上午10:30:00) 如果Dep时间和到达时间在同一日期,则此选项有效 =IF(AND(DT>V27,AT<V28),(M2-L2)/2 # Where V27 is 0600 and V28 2159 =IF(AND(DT>V27,AT)在0600-2159之间的小时内,我将使用 =(MAX(MOD(

在我看来,这更符合逻辑。在这里,我需要在日期时间格式的两列上设置条件。我可以使用helper列

我有两个列,如日期时间格式的Dep time和Arr time(2016年3月4日上午10:30:00)

如果Dep时间和到达时间在同一日期,则此选项有效

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

=IF(AND(DT>V27,AT)在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)))
第一行考虑出发时间,第二行考虑dep和到达之间的天数,最后一行处理到达时间

mod函数返回日期/时间的小数部分,即您的时间

int函数只返回日期(没有时间)

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

=B1-A1-C1


(总时间-0600到2159时间)

对于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)))
第一行考虑出发时间,第二行考虑dep和到达之间的天数,最后一行处理到达时间

mod函数返回日期/时间的小数部分,即您的时间

int函数只返回日期(没有时间)

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

=B1-A1-C1


(总时间-0600至2159次)

添加了带有样本数据的pic。对其进行了修改。请查看其是否合理。因此,是的,行程可能超过24小时。是的,我正在尝试理解您的计算并使用样本数据进行验证。请尽快将小数转换回hh:mm:ss格式。非常感谢您花时间!将单元格格式化为
[hh]:mm:ss
。这将允许显示24小时以上的时间。除以时间只会给出一个比率,因此它不是一个真正的时间(hh:mm:ss),尽管Excel允许您这样设置格式。30:00:00实际上仅为1.25(天)2:15:00仅为0.09(天)。除以时间得到13.33(无单位)如果你将其格式化为hh:mm:ss,它将为你提供320:00:00,这可能没有什么用处。添加了样本数据的pic。对其进行了修改。请查看它是否有意义。因此,是的,行程可能超过24小时。是的,我正在尝试理解你的计算并使用样本数据进行验证。是否可以快速将小数转换回hh:mm:ss format.非常感谢您的时间!将单元格格式设置为
[hh]:mm:ss
。这将允许显示24小时以上的时间。除以时间只会给出一个比率,因此它实际上不是一个时间(hh:mm:ss),尽管Excel允许您这样设置格式。30:00:00实际上只是1.25(天)2:15:00只是0.09(天)。除以时间会得到13.33(无单元)如果您将其格式化为hh:mm:ss,它将为您提供320:00:00,这可能没有用处。