在 Excel 中以 h:mm:ss 格式输入时间数据(在小时前添加前导 0:)

在 Excel 中以 h:mm:ss 格式输入时间数据(在小时前添加前导 0:)

当我从我使用的系统中复制信息时,它给出的时间为 :23:12,我必须为我复制的所有字段(约 800 个)添加前导零,我认为应该有一种方法可以自动添加这个零,但我找不到方法,红色箭头是我手动添加零后修改的,下面是我从我使用的系统中获取它的方式。红色是我手动添加零后修改的,下面是我从我使用的系统中获取它的方式

答案1

实际上,虽然您确实需要一个公式来执行此操作,但有助于粘贴的机制在这里不起作用,因为您有两个:,而不仅仅是前导一个,但您实际上并不需要测试IF。(而且在最近的 Excel 版本中,该机制可能已经与影响粘贴分开。无论哪种方式,都没有帮助。)

只是:

=--("00"&A1)

因为测试Scott Craner中包含的评论IF已经足够了。

这是因为,在字符串前面添加的“00”不会影响已具有小时值的粘贴数据的值。对于这项工作,“001:23:45”与“1:23:45”相同。

或者,如果您的电子表格需要审查,或者您计划在晋升后某天将其工作传递给某人,则不要将coerce文本结果"00"&A1转换为数值,而只需使用直接函数,例如:

=VALUE("00"&A1)

这将使审阅者/批准者或晋升后的替代者清楚地了解预期的操作。

至于公式,您可以创建一个完整的“辅助”工作表,将公式放入其中并粘贴,然后将公式输出复制/粘贴到数据的正常位置。这样就不会影响工作表的布局。但除非您使用宏和按钮自动执行该操作,否则它实际上只对您作为用户有用,因为许多非您的用户会一直搞砸它。

其他解决方案可能不太令人满意,包括粘贴到不同的程序中,例如 Word 或 NotePad++。它们应该允许您进行RegEx搜索和替换以删除前导字符,特别是仅删除:可以同时替换的字符00:,或者如果前导字符是 ,则只添加一个 00 的前缀:。不过,这对非您的用户来说并不好,所以...

Power Query 也能在短时间内完成此操作。如果您有一个“空白画布”,PQ 可以将其结果输出到该空间。如果您将新数据添加到事物的末尾,它可以输出到自己的表中,您可以将输出从那里复制/粘贴到画布上。(不知何故,没有人会将其称为“助手”,同时嘲笑上述关于助手表的建议......)

当然,VBA 也可以在短时间内完成,并精确匹配您的画布。但我对 VBA 的技能并不熟练,主要是为了完整性而提及它,因此除了提及对于具有一定知识的人来说它是可行的并且不会花费太多或困难之外,我不会提供太多信息。

答案2

添加第二列,值为 0,输入公式:

=TEXT((C1&A1),"h:mm:ss")

在此处输入图片描述

相关内容