excel – 减去TIME
A1
单元格的格式为[h]:mm
(这是其他几个单元格的总和)
A1的值目前是64:00
我需要B1
是A1-40 hours
。 目前B1
公式是=A1-TIME(40,0,0)
B1
上的格式也是h:mm
由于某种原因,它给我的价值是0:00
有谁知道我做错了什么
格式[h]:mm不代表小时数。 它具体表示一个date和时间。 在你的情况下,进入64小时,代表1900年1月2日下午4点。
公式TIME(40,0,0)返回下午4点在1900年1月0日的确切date。 (是的,我知道,1月0号不存在,但Excel认为它)。
所以,当你从1900年1月2日(1900年1月2日)16:00的1900年1月0日减去1900年1月2日午夜(00:00)的date,这个时间恰好是Excel开始后的48小时计数时间。 所以如果你的单元格格式化为[h]:mm,它将显示48:00。
编辑
公式Time(40,0,0)返回Jan 0 1900,16:00的原因是因为TIME函数抛出了24小时倍数的小时字段中的任何内容,只处理余数,在这种情况下16个小时。 您可以在时间函数的小时字段中input16,40,64,88等,他们都将返回1900年1月1日16:00。
在Excel中处理date和时间时,请记住,Excel会在几天内处理; 所以1的值相当于1天。 1.5的值相当于1天12小时。
所有Excel的date和时间函数都将时间作为从固定起点(1900年1月0日,午夜)开始测量的特定date和时间来处理。
要处理像工作小时数,时间表或类似的东西,你不需要把数字小时看作时间或date,只要将它们当作整数或正则十进制数来处理即可。
这是因为Excel首先计算函数Time(40,0,0)的值,该值等于16:00:00(40%24 = 16)。 所以,最后是64:00:00 – 16:00:00 = 48:00:00。 您应该设置其他单元格的值为40:00:00,然后减去两个单元格之间的值。