时间值应为 24:00,但显示为 0:00

时间值应为 24:00,但显示为 0:00

我在 Excel 2010 中遇到了一个奇怪的问题。

单元C8格格式为时间并具有公式=E48/24。单元C9格格式为时间并具有公式=24-C8。单元E48格格式为一般的

如果我输入15.5单元格,这将完美地工作;它分别在和中E48返回15:30和。8:30C8C9

我的问题是当E48为空或明确包含 0 时,C8和都C9读作零。我希望它们分别计算为0:0024:00

目的是C8显示设备在 24 小时内的启动时间和C9同一时间段内的停机时间。

预期结果:

  C   | D |  E      ||     C   | D |    E 
13:30 |   |         ||    0:00 |   |
 8:30 |   |         ||   24:00 |   |
      |   | 15.5    ||         |   | (empty)

我怎样才能做到这一点?

答案1

格式化您的C8C9为自定义格式[h]:mm

然后,用C9这个公式=1-C8代替=24-C8

把 24 放在你的意志上C9会破坏你的公式,如果E48

答案2

您现在所做的事情是出于错误的原因。显然,E48是小时数,因此 C8包含的=E48/24是天数。如果 E48介于 0 到 24 之间,C8则将介于 0 到 1 之间,表示一天的一小部分。这对应于 Excel 的日期/时间存储方式 - 日期/时间存储为自 1900 年 1 月 1 日午夜以来的天数(必要时包括一天的一小部分)。这就是为什么C8正确显示为对应于的小时数的小时数和分钟数的原因E48

但是,如果E48介于 0 和 24 之间,并且C8介于 0 和 1 之间,那么24-C8就是介于 23.0 和 24.0 之间的数字。具体来说,如果(如您的示例所示)E48为 15.5,那么C8就是 0.645833333 并且C9 就是 23.35416667。由于C8表示天数,因此24被解释为天数。如果将C8和的格式更改C9 为自定义格式d "days and" h:mm,您将看到,对于E48= 15.5, C8将是0 days and 15:30并且C9将是23 days and 8:30

因此,有两件事:

  • 因为C8是天数,所以您想要C9计算=1-C8当天的剩余时间,而不是查看 24 天的时间。 
  • 在 Excel 单元格显示日期/时间值的格式中,h(和hh)、mmssAM/PM标记仅查看值的小数部分,即一天的分数,它对应于一天中的时间. (请注意 23.35416667 值显示为 的方式23 days and 8:308:30对应于 0.35416667 分数。)

    当然,空白的E48会被解释为 0 值,并将导致C8计算为 0。C9设置为=1-C8,它将计算为 1。如果您仍将C9格式化为d "days and" h:mm,您将看到它显示为1 days and 0:00,这当然相当于 24 小时。要将其设置为展示因为24:00,你需要使用[h]在格式上,而不是简单的h;即使用格式[h]:mm而不是简单的h:mm[h]令牌查看全部的单元格中的值(而不仅仅是小数部分)并将显示小时数≥24。

相关内容