2

我有 2 列:

Night shift start: 19:00

Night end: 04:00

而且我每天都有一些日期列..

Work started: 07:30

Worked ended: 22:00

我想将夜班开始和晚上结束之间的小时数作为小数。我需要计算工作时间的“夜班小时数”。

来自评论:我不想得到总小时数。我想计算“夜班时间”的数量,即 19:00-04:00 之间的时间

4

3 回答 3

1
=IF(B1-A1 < 0, 1-(A1-B1),( B1-A1))

假设单元格 A1 包含开始,B1 包含结束时间。
让我知道,如果它有帮助或错误。

考虑到开始可能是前一天晚上,没有日期的时间不足以进行减法。

你可以试试 VBA 吗?

编辑:该公式在 12 小时限制内有意义。我会看看它是否可以变得更简单。

于 2013-07-15T13:09:58.987 回答
1

给定 B5 中的开始时间和 C5 中的结束时间,此公式将为您提供 19:00 到 04:00 范围内的十进制小时数

=MOD(C5-B5,1)*24-(C5<B5)*(19-4)-MEDIAN(C5*24,4,19)+MEDIAN(B5*24,4,19)

将结果单元格格式化为数字

于 2013-07-21T10:20:23.643 回答
-1

只需将两个日期相减即可得到天数的差异,然后乘以 24 即可得到小时数的差异

=(B1-A1)*24

当 B1 和 A1 都包含日期时间值时,这是正确的,但如果您的单元格仅包含时间值,没有日期值,并且考虑到计算跨越夜间(两者之间有一天的变化),您需要添加一日之差:

=IF(B1<A1,1+B1-A1,B1-A1)*24
于 2013-07-15T13:28:43.243 回答