我每天做 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 的本机时间处理令人震惊,但您需要了解的两个关键事项是:
Excel 中的日期和时间在内部存储为数字。 Excel 没有“日期”、“时间”或“日期时间”类型。日期和时间的显示纯粹是通过格式化基础数字来执行的。
从时间跨度的角度来看,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))