excel – 减去TIME

A1单元格的格式为[h]:mm (这是其他几个单元格的总和)

A1的值目前是64:00

我需要B1A1-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,然后减去两个单元格之间的值。