背景:我主持本地的慢跑事件已有大约十年了。我负责处理按类别(年龄段+性别、距离)划分的参与者数据(姓名、运动俱乐部、号码布)。主要任务是收集他们的时间并处理该数据(对类别内的运行者进行排序等)。我基本上可以用 Excel 处理这个问题。
问题:输入参赛者比赛时间的理想时间格式是什么?时间的格式为 mm:ss
或(对于较慢的运行者和/或较长的距离)h:mm:ss
。 Excel 似乎没有内置格式,其中小时字段是可选的。为了理想地优化我的工作流程,我希望有一个单元格格式,以便输入
47:12
将被解释为 47 分 12 秒,输入的 1:09:38
将被解释为 1 小时 9 分 38 秒。但是,Excel(具有我发现的最适合的单元格格式)将坚持输入 47:12
表示 47 小时 12 分钟。对于超过 1 小时的时间,如果我的意思是秒字段保留零值,我会输入 1:03:00
。
How to make Excel realize that when the format can handle up to three numbers as inputs, it would, when given only two numbers, move them towards the end?
思考:我“可以”输入 47 分 12 秒,即 0:47:12
,没问题。但由于大部分时间都在1小时以内,这部分是白费力气。此外,使用这种格式,数据与多余的 0:
一起显示在屏幕上。更糟糕的是(IIRC)那些前导零
也出现在打印版中,对于初级参与者来说,在较短的距离内这很奇怪(甚至是侮辱性的)。
我的技巧:我以 mm,ss
格式输入时间作为一般数字(在这些部分中,逗号用作小数分隔符)。 Excel 可以很好地将这些数据排序为数字。然后,我将该排序列的数据复制到另一个“可打印”版本(格式为文本),其中数据只是复制,但我手动纠正了超过 60 分钟的时间。只要我不着急(我们的事件不完全是波士顿马拉松,比如说,参与者少于 200 人),这种方法就可以正常工作,并且记住隐藏不应该打印的列。这很糟糕,而且当其他官员催促我打印结果时,还会发生意外。
最佳答案
我设法创建了一种格式,其中时间字段是可选。它适用于条件格式。首先,您按照标准设置单元格格式,以便获得逗号值形式的时间。之后,您为这些单元格创建条件格式,它有两个规则:
- 如果单元格值 > 0.04166667,格式为 hh:mm:ss
- 如果单元格值 < 0.04166666 格式为 mm:ss
结果:
47:12
01:09:38
01:00:00
这样你就得到了你真正想要的,并且可以使用原始值进行排序等。
编辑:
对于输入,您需要另外四个列。您可以根据需要输入时间,例如47:12 和 1:09:38。在接下来的三列中,您将这些值拆分为小时、分钟和秒,其中解释限制为 3 小时 (03:00),即 0.125。
因此,这些是拆分列的公式(您的输入位于 B1 中):
时间:=IF(B1>0.125,0,HOUR(B1))
分钟:=IF(B1>0.125,INT(B1)*24+HOUR(B1),MINUTE(B1))
秒:=IF(B1>0.125,MINUTE(B1),SECOND(B1))
最后,将所有值放在第四列中:
=TIME(C1,D1,E1)
并使用上面的条件格式。
关于excel - 控制Excel时间格式输入/输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46053602/