列A
:24小时格式的开始时间(使用公式=NOW()
并用Ctrl+ SHIFT+ 锁定;)
列B
:24小时格式的结束时间(输入与列相同A
)
列C
:持续时间,格式为[mm]
,使用公式=B1-A1
如果列中的数据B
包括第二天发生的时间,如何计算持续时间?
实际工作表:
列A
:24小时格式的开始时间(使用公式=NOW()
并用Ctrl+ SHIFT+ 锁定;)
列B
:24小时格式的结束时间(输入与列相同A
)
列C
:持续时间,格式为[mm]
,使用公式=B1-A1
如果列中的数据B
包括第二天发生的时间,如何计算持续时间?
实际工作表:
Answers:
Ctrl+ Shift+ ;只是将当前时间放入单元格而没有日期戳,正如@Akina在答案中指出的那样,它没有锁定任何内容。
NOW()
为单元格添加日期戳以及时间。要查看该内容,请单击未格式化的空单元格或General
格式和类型的任何单元格=NOW()
。在打字的时候我得到了21/08/2018 11:25
。
如果你放入=NOW()
细胞A1
并=NOW()+TIME(23,0,0)
进入细胞B1
,如果你放入=B1-A1
细胞C1
并格式化细胞,Time
你就会得到23:00:00
。
如果您在没有日期戳的情况下放置时间,则需要使用IF()
公式来确定第二次是否低于第一次(时间帧超过午夜)。以下将计算单元格B1
和单元格中的时间之间的时间差,A1
无论结束时间是否超过午夜。它也可以使用或不使用日期戳,因为忽略了日期戳。
=IF(B1<A1,MOD(B1-A1,1),B1-A1)
=IF(B1<A1,...)
是时候B1
过了午夜?如果是,则执行下一部分
MOD(B1-A1,1)
将MOD(number,divisor)
返回一个数字后余数除以除数。细胞B1
减细胞A1
为负值,如在细胞的时间B1
是午夜,并擅长在大多数情况下,不喜欢消极时间值,因此它会给#####
没有MOD()
。在MOD()
各种各样的说出来。
该MOD()
公式的替代方案是使用
TIME(23,59,59)-TIME(HOUR(A1),MINUTE(A1),SECOND(A1))+TIME(0,0,1)+B1
这是23:59:59 minus time in cell A1 plus 1 second plus time in cell B1
。
这是最后一位,B1-A1)
的是最后一部分IF()
,其中如果时间在细胞B1
是不是过了午夜。
=IF(B1<A1,MOD(B1-A1,1),B1-A1)
无论是否有日期戳都可以。
Ctrl-Alt-;
)插入A1单元格。将curent datetime(按公式=NOW()
)插入B1单元格。检查结果。
Ctrl + Shift + ;
进入单元格A1
,它对我有用。
可能最优雅和最简单的解决方案是此评论中 fixer1234提到的答案中的一个:
=MOD(B1-A1,1)
请注意,它假定两个值仅为时间值(或者要截断日期部分),即每个值小于1,并且持续时间小于24小时。
说明:
这是因为对于序列日期时间值,1对应于24小时,而仅时间值是小于1的日期时间值。因此:
B1 >= A1
那么MOD(B1-A1,1)
→ B1-A1
按预期B1 < A1
那么MOD(B1-A1,1)
等于1-(A1-B1)
(从MOD(-n,m)=m-MOD(n,m)
)给出正确的“补充”持续时间
另一种解决方案(判断它是否更简单/更优雅;-))是:
=(B1<A1)+B1-A1
说明:
这是有效的,因为在算术运算中使用时,TRUE
值会被隐式强制转换为a 1
和FALSE
值0
。从而:
B1 >= A1
那么(B1<A1)
→ 0
并且公式变为B1-A1
B1 < A1
那么(B1<A1)
→ 1
和公式相当于1-(A1-B1)
请注意,即使两个值都是日期时间并且相隔超过24小时,此公式也能正常工作!这是不为第一个公式的情况下,所以这第二个公式是一个更有用/普通之一。
=MOD(B1-A1, 1)
似乎工作得相当好。而且=IF(AND(A2>=1,B2>=A2), B2-A2, IF(AND(A2>=0,A2<1,B2>=0,B2<1), MOD(B2-A2,1), "Error"))
似乎处理所有情况良好。
如果B列中的数据包含第二天的时间,我该如何计算持续时间?
=1 + B1 - A1
格式化为时间将显示正确的结果。如果B1> A1,则resilt当然包含非零日期部分,但由于单元格格式而未显示。
如果要在某些时间计算中使用此时间值,请使用更复杂的公式
=B1-A1-INT(B1-A1)
PS。
并用CTRL + SHIFT +锁定;
这个组合什么都没锁 它完全用当前时间值替换单元格内容。
Ctrl-Shift-;
公式固定时,会得到您需要的结果。PS。寻找=B1-INT(B1)-A1+INT(A1)-INT(B1-A1)
...
要在Minutes
两者之间找到差异,24Hrs DateTime Stamps
您可以使用其中任何一个:
=Int((A2-A1)*24*60)
要么
=int((A2-A1)*1440)
要么
=ROUNDUP((A2-A1)*1440,2)
注意,公式单元格必须具有General
格式。
CTRL+SHIFT+;
都2:03 PM
与2:11 PM
与应用=INT((M8-L8)*1440)&" Mnts"
得到了答案8 Mnts
。
=ROUNDUP((M8-L8)*1440,2)&" Mnts"
。
A2
已经过了午夜,则答案中的公式不起作用,因为@Akina指出