【问题标题】:Duration format in google spreadsheet谷歌电子表格中的持续时间格式
【发布时间】:2014-10-21 08:49:31
【问题描述】:

我正在尝试将持续时间格式应用于谷歌电子表格中的某些单元格。我想将整数转换为以下格式:X 天 x 小时 x 分钟。

我尝试过一些格式,例如:d:h:mm,但我在应用格式时发现了一个问题。它总是少放一天。当我在单元格中写 1 时,转换为 31:0:00。当我写 2 时,单元格变为 1:00:00。

【问题讨论】:

  • 因此,如果您有 DAYS、HOURS 和 MINUTES,您将如何存储它们/您从哪里获取它们?作为一个值是一个单元格?作为多个单元格中的值?作为计算?还 “1”应该是什么意思? - 1 天?如果是这样,你会怎么写“1天零6小时”?
  • 我有以天为单位的期限。例如 1 天 12 小时将是 1,5。我想将自定义格式应用于写入数字的单元格并查看如下:1 天 12 小时。

标签: format google-sheets duration


【解决方案1】:

这是因为持续时间格式实际上是日期/时间格式(用于比较日期)。 如果您只输入一个数字 (1),Google 会将其解释为 midnight(因为时间存储为整天的小数)of the reference day number 1
Google 表格中的参考日是 31/12/1899 - 即当月的第 31 天。这就是您的结果返回 days=31 的原因。

为了实现您想要的,您实际上需要将 1 添加到您的值中。因此 1 (+1) 实际上变为“自 1899 年 12 月 31 日以来的 2 天 - 即 1900 年 1 月 1 日 - 即 1 天,然后您可以使用自定义格式进行显示,但是当您有 >31 天时这将不起作用.


我认为最好的方法是简单地将您拥有的数据与相关部分连接起来(其中 A1 是包含您的数据的单元格 - 1、2、1.5 等):

=int(A1)&" days "&int(MOD(A1,1)*24)&" hours " & mod(MOD(A1,1)*24,1)*60 & " minutes"

【讨论】:

  • 谢谢。添加 1 是一种可能的解决方案,但在使用单元格时并不完全清楚。例如,如果我将 4 个包含数字 2(= 1 天)的单元格相加,则结果将是 7 天(4 个单元格 * 2 天 -1(由于您的解释)),而不是我想要的 4 天。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 2021-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多