我正在尝试编写一个 Excel 表来计算一周内剩余的弹性工作时间。
用户可以输入他们开始工作的时间和结束工作的时间,电子表格就会计算出他们当天工作了多少小时。这(显然)是一个简单的公式=C4-B4
。
但是,如果我尝试采用同样的方法来计算一周剩余的工作小时数(即 37 - 11,或者更准确地说=TIME(37,0,0) - TIME(11,0,0)
),那么它就行不通了,因为时间会自动转换为 24 小时制,所以答案 26 实际上会变成 2。
有没有一种方法可以解决这个问题,同时保持时间的精确度?
我见过类似的电子表格,用户可以简单地用十进制计算工作时间(例如,18.5 表示 18 个半小时),但我想保留 TIME 格式可以提供的准确性。
有没有办法解决?
答案1
您必须将其转换为十进制,但您可以继续让用户输入时间......
=37-D4*24
在幕后,你的时间只是一个小数(一天的一部分),所以乘以 24 就可以计算出小时数……
编辑:如果您想模拟“时间”格式,您可以使用这个(注意,它不再是一个数字,因此不能用于下游计算):
=TRUNC(37-D4*24)&":"&TEXT(ROUND(MOD(37-D4*24,1)*60,2),"00")