我需要在 Excel 单元格中格式化一些已用时间。单元格应显示小时和分钟。使用格式可以实现这一点[h]:mm
。此格式无法使用千位分隔符。最后,如果用户未输入此分钟,则输出应自动附加:00
。我尝试了一些格式,但没有一个能给我想要的结果:
input | desired | output with a custom cell format |
value | output | [h]:mm | #.###":00" |
-----------------------------------------------------------
12:34 | 12:34 | 12:34 | 1:00 |
123:45 | 123:45 | 123:45 | 5:00 |
1234:56 | 1.234:56 | 1234:56 | 51:00 |
12345:56 | 12.345:56 | 12345:56 | 12345:56 |
12 | 12:00 | 288:00 | 12:00 |
123 | 123:00 | 2952:00 | 123:00 |
1234 | 1.234:00 | 29616:00 | 1.234:00 |
12345 | 12.345:00 | 296280:00 | 12.345:00 |
编辑:原始表格具有误导性。重新整理后可以更好地展示问题。
不需要进行任何计算。
有人可以给我提示吗?
非常感谢。
答案1
如果您的输入是12345:56
每个定义的文本值(它根本不是有效的数值)并且您将需要某种翻译/计算来构建自定义格式。
=IF(colon in string is true, the format left substring as ..... etc. etc.
我认为唯一可行的方法
选项1
- 通过输入数据的方式(包括冒号),
- 要格式化输入单元格,
- 无需进一步计算,
根据您的要求,继续进行设置:
- 文件 > 选项 > 高级 > 将小数分隔符更改为
:
- 将范围格式化为带有两位小数的数字,然后单击“使用千位分隔符”按钮
现在,您输入的任何数字都将使用.
千位分隔符和:
小数点前的,而无需进行任何计算(根据您的问题)
我还假设您想要的倒数第二个值的输出应该有千位分隔符?
选项 2
另一个选择是使用另一个相邻的单元格来输出您的预期结果。这样,您可以保留小数分隔符,但:
- 将输入列格式化为文本
在相邻列中输入以下公式(查看示例,假设小数分隔符是逗号):
=SUBSTITUTE(TEXT(SUBSTITUTE(A2,":",","),"#.###,00"),",",":")