需要一个公式来减去时间

问题描述 投票:0回答:1

我每天做 2 份合同工作。我每天必须减去 1 小时的通勤时间。在大多数情况下,这是从我的第一份工作通勤中扣除的,而我的第二份工作通勤为零。我有他们的公式。

我的问题是,当我为第一份工作通勤 25 分钟时 - 这是从第一份工作中减去的。但我的下一份工作可能需要 50 分钟,我需要扣除允许的通勤时间的余额。我需要一个条件公式来计算从第二份工作中减去 35 分钟的第二份金额的多少。

我的部分问题是我不能只使用数字,因为 Excel 和 Google 表格有一种疯狂的计算持续时间的方式。第一份工作在一行上,第二份工作在下一行上。

尝试添加我的两个字段:

=if(b2>=1,0,if(b2<1),if((b2+c2)<=1,c2),(40-b2)

我也尝试过用 1:00 代替 1

excel google-sheets time duration
1个回答
0
投票

从用户的角度来看,Excel 的本机时间处理令人震惊,但您需要了解的两个关键事项是:

  1. Excel 中的日期和时间在内部存储为数字。 Excel 没有“日期”、“时间”或“日期时间”类型。日期和时间的显示纯粹是通过格式化基础数字来执行的。

  2. 从时间跨度的角度来看,Excel 中的数字 1 代表一天 - 不是一小时。

所以公式中的值1相当于“一天”。如果您在单元格中输入

1:00
,Excel 将假定您的意思是“一小时”并将其转换为 1/24(约 0.04167)。

当然,您可以出于自己的目的将 Excel 整数视为小时或分钟,但不能混合搭配。在你的公式中,你有

B2>=1
(大概意思是“B2 至少一小时”),还有
40-B2
(我不确定这意味着什么,但看起来
40
意思是“40 分钟”?)。

假设 B2 和 C2 中的值代表您在小时内的第一次和第二次通勤,则以下公式应该有效(返回您第二次通勤要扣除的金额):

=IF(B2 >= 1, 0, IF(B2 + C2 <= 1, C2, 1 - B2))

但是如果您这样做,您不能输入“半小时”作为

0:30
,因为 Excel 会将其转换为 的相关分数(即 1/48)。您需要直接输入
0.5

您可能更喜欢在 B2 和 C2 中使用 整数分钟,在这种情况下,只需将上面的公式替换为:

=IF(B2 >= 60, 0, IF(B2 + C2 <= 60, C2, 60 - B2))
© www.soinside.com 2019 - 2024. All rights reserved.