10

例如:

我有一个具有以下值的单元格:

“1900 年 1 月 11 日凌晨 4:00:20”

这将在单元格内显示为:“268:00:20” - 表示 268 小时 00 分钟和 20 秒(请参见下面的第一张图片)。

编辑:这是它的外观和单元格格式的屏幕有数据的单元格

问题来了:

什么是 Excel 2010 公式(如果可能,没有 VBA!)从这个单元格中提取小时提取分钟,例如“268”应该在不同的单元格中显示小时,“00”(在这种情况下)在分钟另一个细胞?

澄清一下:“268:00:20”是 268 小时 00 分 20 秒的持续时间。

我想得到什么?在不同的单元格中,存储小时 (268) 和分钟 (0)

单元格被格式化为时间(见下图): Excel 2010 - 时间格式单元格

4

5 回答 5

13

值 1/11/1900 4:00:20 AM 实际上只是 Excel 中代表天数的格式化数字,即在这种情况下约为 11.167 - 我认为 Daniel 的解决方案并不遥远 - 使用 DAY 和 HOUR 将适用于值最多 31 天.......但对于更通用的解决方案,只需使用几个小时:

=INT(A1*24)

几分钟

=MINUTE(A1)

于 2013-04-24T19:12:44.550 回答
2

我会使用类似于我在这里使用的东西。对于解决方案来说,这并不是很漂亮,但它确实有效。

因此,在您的情况下,您要做的是:

  1. 在您想要的时间格式化值,然后将值(或列)复制/粘贴到记事本中。剪贴板复制并粘贴可见的内容,而不是 Excel 中的日期/时间值。
  2. 在您的工作表中,插入一个新列并将其格式化为文本。这将导致 excel 按原样接受这些值,而不是将它们转换为日期时间。
  3. 从记事本复制所有内容并粘贴到您刚刚格式化为文本的新列中。您将像在 excel 中一样获得时间值。

从那里,您可以使用Text to column带冒号分隔的时间来拆分时间以获得 3 列:小时、分钟和秒(以及附加提示,在拆分到列窗口中,您会被询问拆分列的格式,格式化所有作为文本)。

在此处输入图像描述

编辑:因为它似乎不太明显......

在此处输入图像描述

  • B 列是原始日期/时间。
  • C 列是相同的日期/时间,仅以小时、分钟和秒为格式。在记事本中复制并粘贴 C 列。
  • 将 D 列格式化为文本,然后将记事本中的值复制到该列。这为您提供了存储为文本的时间。
  • E 到 G 列是 D 列的拆分,以冒号分隔。
于 2013-04-24T16:52:23.337 回答
0

您将不得不使用DayHour公式。小时将仅返回时间部分。您必须将其与 相加24*Day。也许你也需要使用Year,这取决于你想要什么。

对于分钟,使用Minute公式。

如果有开始日期和所需日期,您可以使用24 * Days(DesiredDate, StartDate).

于 2013-04-24T16:54:02.127 回答
0

只需使用菜单栏中数据下的文本到列功能。对于超过 24 小时的时间,效果非常好。我遇到了一个问题,分钟和秒有时以 2 位数字显示,有时以 1 位数字显示,例如。268:1:13 或 541:12:3 或 671:45:30。在这种情况下,只需将分隔符选择为“:”(相对于固定宽度选项),它将能够在单独的列中显示小时分钟和秒。问题解决了!

于 2013-11-28T08:00:18.267 回答
0

您根本不需要任何公式。只需使用此格式格式化单元格[h]:mm:ss;@

下面的例子:

假设您的日期在单元格 A1 中,如图所示:

在此处输入图像描述

转到格式选项:

在此处输入图像描述

然后在Number选项卡下选择自定义。然后在框中输入上面的自定义时间格式:

在此处输入图像描述

你的单元格最终会变成:

在此处输入图像描述

或者通过公式,您可以使用DateDif()公式来完成=DATEDIF(0,A1,"D")*24+HOUR(A1)&":"&MINUTE(A1)&":"&SECOND(A1)

如下所示:

在此处输入图像描述

于 2013-04-24T17:00:11.530 回答