Excel 2007:如何将mm:ss格式显示为非DateTime格式(例如73:07)?

24
我需要创建一个 Excel 表格,用于计算每天的训练时间。每行都有以下字段:日期、距离、时间和每公里所需分钟数。我的主要问题是我想要以“mm:ss”的格式显示时间。例如:24分钟3秒应为24:03,但“Excel”会将其转换为00:03:00(午夜后的3分钟)。我尝试了设置“特殊格式”,但仍然“Excel坚持”要格式化小时数。此外,训练时间可能超过60分钟,但我仍希望它只显示为mm:ss
我的第二个问题是,在解决格式问题后,如何简单地计算时间/距离?
7个回答

25

输入值应为0:mm:ss格式,格式化为[m]:ss

由于现在的单位是分钟和秒,简单的算术运算可以帮助你计算统计数据。


好的。一个问题是,如果我超过了59分钟的训练时间,我能输入0:62:30吗? - Meron
1
是的。我尝试输入“0:74:03”,它按预期显示为“74:03”。 - SeanC

2
为了在输入多个日期/时间时使生活更轻松,可以使用自定义格式来消除输入冒号和前导的“小时”0的需要。然而,这需要一个第二个字段来存储数字日期,因为自定义格式显示的日期是十进制的。
将“数字”显示为“时间”(无需输入冒号,但没有时间转换)
为了在表格上显示时间,并且在不必输入冒号的情况下输入时间,将单元格格式设置为自定义,并使用:
0/:00
然后输入您的时间。例如,如果您想要输入62:30,则只需键入6230,您的自定义格式会在离右侧2位小数点处插入一个冒号。
如果您只需要显示时间,请到此为止。
将数字转换为时间
如果您需要能够计算时间,则需要将它们从十进制转换为时间格式。
可以使用以下公式来完成此操作(将A2更改为相关单元格引用):

=TIME(0,TRUNC(A2/100),MOD(A2,100))

这个公式是将数字转换为时间格式的。具体解释如下:
  • =TIME表示开始进行数字到时间的转换。
  • 由于我们不需要小时,所以在公式开头输入0,,因为时间格式始终为hh,mm,ss(如果要显示小时和分钟而不是分钟和秒钟,则将0放在公式末尾)。
  • 对于分钟,TRUNC(A2/100),会舍去最右边的两位数。
  • 对于秒钟,MOD(A2,100)会保留最右边的两位数并舍去左边的所有内容。

上述公式来源于以下文章,并进行了适当调整: PC Mag.com - Easy Date and Time Entry in Excel

另外,您还可以跳过0/:00自定义格式,只需在单元格中输入时间,然后在可见工作区的边缘或另一个工作表中引用该单元格即可(例如:6230表示62:30)。

然后按照@Sean Chessire的建议,更改带有公式的单元格的显示格式为[m]:ss
以下是一个屏幕截图来展示我的意思。

Excel screen shot showing time conversion formula and custom formatting


我正在使用Office 2010,对于所需的格式需要使用0:00,而不是0/:00,这样就可以很好地工作。 - user3407196

2

当你将24:03格式化为时间时,Excel会显示它为3分钟,因为24:03在军事时间中等同于12:03 AM。

使用通用格式添加时间

不要尝试将其格式化为时间,而是使用通用格式和以下公式:

=分钟数+(秒数/60)

例如:对于24分3秒:

=24+3/60

这将给出一个值为24.05。

对于每个时间段都要这样做。假设您在单元格A1A2中输入此公式。然后,在单元格A3中使用以下公式来获取经过的总时间:

=INT(A1+A2)+MOD(A1+A2,1)

转换回分钟和秒

如果您在每个单元格中输入=24+3/60,则在单元格A3中将得到一个值为48.1

现在,您需要将其转换回分钟和秒。在单元格A4中使用以下公式:

=MOD(A3,1)*60

这将把小数部分乘以60。请记住,我们在开始时除以60,因此要将其转换回秒,我们需要乘以60。

您也可以单独完成此操作,即在单元格A3中使用此公式:

=INT(A1+A2)

并在单元格A4中使用此公式:

=MOD(A1+A2,1)*60

下面是显示最终公式的屏幕截图:

adding times


好的,基本上我的“时间”列应该被格式化为文本->接收“24:03”,然后我需要第二列使用LEFT和RIGHT提取分钟和秒,并且使用输入执行:(24 + 3/60),然后我可以计算时间/距离。现在使用MOD重新格式化结果。正确吗? - Meron
不行。时间列必须是 mm+s/60 的格式,其中 mm 是分钟数,s 是秒数。如果您输入 24:03 并对其使用 Left 函数,则会得到 1 而不是 24 - JimmyPena
很好,但我不想让输入变得复杂(在每次训练后)。我希望每个用户每次只需输入他的训练时间(和距离),就能得到他的训练速率(时间/距离)。 - Meron

0

如果您正在使用手动输入的数据,您可以根据您的语言/地区选择将您的数据输入为mm:ss,0mm:ss.0,而不是00:mm:ss

如果您想要查看所有分钟秒格式而不是小时分钟秒格式,您需要将单元格格式指定为[m]:ss


0

作为文本:

=CONCATENATE(TEXT(cell;"d");" days ";TEXT(cell;"t");" hours ";MID(TEXT(cell;"hh:mm:ss");4;2);" minutes ";TEXT(cell;"s");" seconds")

0

5. 在“单元格格式”对话框中,单击“类别”列表中的“自定义”选项卡。 6. 在“类型”框中,在格式列表顶部键入[h]:mm;@,然后单击“确定”。(在[h]后面是一个冒号,在mm后面是一个分号。) 您随后可以添加小时数。下次需要此格式时,它将出现在“类型”列表中。

从微软方面来看,效果很好。

http://office.microsoft.com/en-us/excel-help/add-or-subtract-time-HA102809662.aspx


0
在Excel中输入经过的时间的一个方便技巧是在分钟数前面加上两个零和一个冒号,具体细节如下。如果要将数据复制并粘贴到Excel中而不必担心格式问题,可以使用格式00:XX:XX,其中XX是小于60的两位数字之和。在这种情况下,Excel将在单元格内容中显示0:XX:XX并将数据存储为12:XX:XX AM。如果将数据以00:XXX:XX格式或00:XX:XX(其中任一XX>59)格式粘贴到Excel中,则会将其转换为一天的分数。
例如,00:121:12变成了0.0841666666666667,如果乘以一天的秒数86,400,则变成了7272秒。接下来,00:21:12默认显示为0:21:12,并存储为12:21:12 AM。最后,00:21:60变成了0.0152777777777778,也是一天的分数。

这个建议仅是为了避免在Excel中担心特定的格式,让程序来处理。请注意,对于在Excel中内部格式化为12:XX:XX AM的数据,只能使用某些Excel命令,例如可以取平均值。然而,减法只有在结果为正数时才有效。因此,建议将时间转换为秒、一天的分数或其他实数,以获得更完整的算术操作覆盖。

例如,如果有一列混合时间格式或时间为负且不显示的数据,如果将数字格式更改为常规格式,则所有时间将被转换为一天的分数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接