【问题标题】:Working with time DURATION, not time of day使用时间 DURATION,而不是一天中的时间
【发布时间】:2013-06-04 07:56:55
【问题描述】:

我正在做一些基准测试,我想使用 Excel 生成结果图表。我有一个简单但烦人的问题,那就是烤面条。

问题在于 Excel 坚持“时间”是指一天中的某个时间。它拒绝让我处理时间durations。当我尝试说“三分六秒”时,它会将其误解为“三分六秒午夜后”,这根本不是我的意思。

我可以通过费力地将所有内容转换为秒来解决这个问题。但是我所有的图表都以秒为单位,而不是分钟和秒。另外,不得不继续输入=3*60+6 而不仅仅是3:06 是很痛苦的。完成后,我必须查看公式以检查我是否正确输入了数据[并且没有搞砸公式]。

有人知道如何让 Excel 在不固定到一天中特定时间的时间持续时间下工作吗?

【问题讨论】:

  • Excel 总是将时间视为一天中的时间 - 它会导致特定问题吗?
  • 由于 Excel 不存在没有日期的时间,因此请接受与您的时间值相关的不相关日期。只需格式化存储这些时间的单元格以反映没有日期...
  • “我可以解决这个问题” - 为什么需要解决这个问题?什么具体不是你现在想要的?如果是输出格式,可以控制,见this related question
  • 其实我觉得那可能是骗人的,你说呢?
  • 我知道这是一篇旧帖子,但同样的问题多年来一直困扰着我。我发现最简单的方法就是使用 Numbers,因为它支持持续时间。

标签: excel


【解决方案1】:

您可以使用普通的“时间”数据类型轻松完成此操作 - 只需更改格式!

Excels 时间/日期格式只是 1.0 等于 1 全天(从 1900 年 1 月 1 日开始)。所以 36 小时是 1.5 小时。如果您将格式更改为[h]:mm,您将看到36:00

因此,如果您想处理持续时间,您可以简单地使用减法,例如

A1: Start:           36:00 (=1.5)
A2: End:             60:00 (=2.5) 
A3: Duration: =A2-A1 24:00 (=1.0)

【讨论】:

  • 还有一个类似[h] "hr" m "min" ss "s"的格式字符串,这将导致类似0 hr 28 min 48 s32 hr 21 min 37 s
  • 我在 Excel 中使用 [h]:mm 时遇到了问题,即使我使用带有英文公式的英文版 Excel 2017,该公式似乎也已本地化,例如和()。我住在瑞典,[t]:mm 为我工作。我猜 t 来自瑞典语 (t)immar 而不是 (h)ours。希望这对某人有所帮助。
  • 总天数如何?我想要 134 天 3 小时 4 分钟。好像不超过 31 天
  • @ThanasisIoannidis 你说得对,它最多只能数到 31,因为它假定一个日期,然后跳转到 2 月 1 日。你可以用一个公式得到这个:=TEXT(A1,"0")&" day"&IF(A1>1,"s "," ")&TEXT(HOUR(A1),"0")&" hours "&MINUTE(A1)&" minutes"
  • 问题是我不想要一个公式。我可以计算天数等并产生一个“字符串”值,但就是这样。一个字符串值。我希望基础单元格值是十进制数,并且仅将其显示为天:小时:分钟。我需要显示格式字符串,但不需要公式。
【解决方案2】:

根据您的需要使用格式d "days" h:mm:ss[h]:mm:ss

假设您的持续时间为 30h 12m 54s:

  • h:mm:ss -> 6:12:54(一段时间内不正确)
  • [h]:mm:ss -> 30:12:54
  • d "days" h:mm:ss -> 1 天 6:12:54

变化是可能的:我喜欢 d"d" h"h" mm"m" ss"s" 这样的格式,格式为 1d 6h 12m 54s。

【讨论】:

  • 支持“[h]:mm:ss -> 30:12:54”。我无法弄清楚为什么“h:mm:ss”没有显示 > 24 小时。
  • 如果经过的天数大于 31 天,那将不起作用,因为日期将循环到下个月,而 'd' 将显示当月的日期,
【解决方案3】:

自定义格式 hh:mm 仅正确显示截至 23:59 的小时数,之后,您将得到剩余的天数,减去完整天数。例如,48 小时将显示为 00:00,即使底层值是正确的。

要以小时和秒为单位正确显示持续时间(低于或超过一整天),您应该使用自定义格式 [h]:mm;@ 在这种情况下,48 小时将显示为48:00。

干杯。

【讨论】:

  • [h]:mm;@ 格式中的“@”符号有什么作用?
  • 在我的情况下(我不知道为什么 - 我有英文版的 excel)小时字母是 g,格式 [g]:mm 很好用。
  • @Pratham 它是文本输入的占位符,以防单元格不包含数字。
【解决方案4】:

使用自定义格式的单元格,您可以插入如下类型:d "days", h:mm:ss,这将在 excel 单元格中为您提供类似 16 days, 13:56:15 的结果。

如果您想以小时为单位显示持续时间,请使用以下类型 [h]:mm:ss,这将导致类似 397:56:15 的结果。控制检查:16 =(397小时-13小时)/24

【讨论】:

  • 如果经过的天数大于 31 天,这将不起作用,因为日期将循环到下个月,“d”将显示当月日期
【解决方案5】:

我不知道如何让图表以“X1 min : X2 sec”格式标记轴,但这是另一种获取持续时间的方法,格式为分钟,小数表示秒(0.5 = 30 秒, .25 = 15 秒等)

假设在 A 列中您有时间数据,例如在单元格 A1 中您有 12:03:06,您的 3 分 6 秒数据被误解为午夜 3:06,而 B 列是空闲的。

在单元格 B1 中输入以下公式:=MINUTE(A1) + SECOND(A1)/60 并按回车键。抓住单元格 B2 的右下角并向下拖动到 A 列,将公式应用于 A 列中的所有数据。

最后一步,请务必突出显示所有 B 列并将其设置为数字格式(公式的应用可能已自动将格式设置为时间)。

【讨论】:

    【解决方案6】:

    突出显示您想要作为持续时间的单元格/列,右键单击鼠标以“格式化单元格”。如果要以小时和分钟格式输入持续时间,请转到“自定义”并查找“h:mm”。如果您还想包含秒数,请单击“h:mm:ss”。之后您甚至可以将总时长相加。

    希望这会有所帮助。

    【讨论】:

      【解决方案7】:

      我发现解决此问题的最佳方法是结合使用上述方法。我的所有单元格都以自定义格式输入,仅显示“HH:MM”——如果我输入“4:06”(即 4 分 6 秒),该字段将显示我正确输入的数字——但数据本身会在后台表示 HH:MM。

      幸运的是,时间基于 60 倍(60 秒 = 60 分钟)。所以 7H:15M / 60 = 7M:15S - 我希望你能看到这是怎么回事。因此,如果我在处理数据时取 4:06 并除以 60(例如,总计 100 个单元格的总时间或平均时间,我将使用正常的 SUM 或 AVERAGE 公式,然后在公式中除以 60 .

      示例 =(SUM(A1:A5))/60。如果我的数据跨越 5 个时间跟踪字段是 4:06、3:15、9:12、2:54、7:38(对我们来说代表 MM:SS,但后台的数据实际上是 HH:MM ) 然后当我计算出这 5 个字段的总和时,我想要 应该 是 27M:05S,但显示的是 1D:03H:05M:00S。如上所述,1D:3H:5M 除以 60 = 27M:5S ...这是我要寻找的总和。

      更多的例子是: =(SUM(G:G))/60 和 =(AVERAGE(B2:B90)/60) 和 =MIN(C:C) (这是直接检查,所以这里不需要 /60!)。

      请注意,一旦除以 60,您的“公式”或“计算”字段(平均值、总时间等)必须具有自定义格式 MM:SS,因为 Excel 的默认思维是 HH:MM(因此这个问题)。您输入时间的数据字段应从“常规”或“数字”格式更改为 HH:MM 的自定义格式。

      这个过程使用起来仍然有点有点麻烦-但这确实意味着您的数据条目仍然很容易输入并且“正确”显示在屏幕上为 4:06(大多数人在“分钟”标题下将其视为分钟:秒)。通常,在跟踪时间时,只有几个字段需要用于公式,例如“最佳时间”、“平均时间”、“总时间”等,一旦输入公式,它们通常不会更改,因此这将成为一个“一次性”流程 - 我在工作中将其用于我的呼叫跟踪表,以跟踪“平均呼叫”、“一天的总呼叫时间”。

      【讨论】:

        【解决方案8】:

        假设您要显示从星期一下午 5 点到第二天星期二下午 2:30 之间经过的时间。

        在单元格 A1(例如)中,输入日期。在 A2 中,时间。 (如果您输入下午 5 点,包括空格,它将显示为下午 5:00。如果您希望也显示星期几,则在 C3(例如)中输入公式 =A1,然后突出显示单元格,进入格式下拉菜单,选择自定义,然后输入 dddd。

        在下面的行中重复所有这些。

        最后,假设您想在单元格 D2 中显示该持续时间。输入公式 =(a2+b2)-(a1+b1)。如果您希望它显示为“22h 30m”,请选择单元格,然后在“自定义”下的格式菜单中,输入 h"h" m"m"。

        【讨论】:

          【解决方案9】:

          我最终做的是:手动输入持续时间,例如1 分 3 秒。简单但有效。即使我使用了某些答案中给出的“自定义格式”,Excel 似乎也覆盖了其他所有内容。

          【讨论】:

            猜你喜欢
            • 2020-03-03
            • 1970-01-01
            • 2013-04-11
            • 1970-01-01
            • 2013-01-24
            • 1970-01-01
            • 1970-01-01
            • 2015-03-23
            • 1970-01-01
            相关资源
            最近更新 更多