时间值转换为文本/通用格式时如何保留原有显示格式
Excel时间格式转文本保留原显示效果的解决方法
问题原因
Excel中的时间本质是以「天」为单位的小数存储的,1分钟对应1/(24*60),你看到的1:33只是该小数的一种展示格式。你之前先粘贴值、再修改单元格格式的操作,只会触发底层小数的展示格式切换,不会把存储的小数转换为对应格式的文本内容,因此会直接显示出原始小数值。
可直接使用的解决方法
方法1:用TEXT函数批量转换(最推荐,适合大量数据)
- 假设时间数据存储在A列,首行为表头,在空白列B2单元格输入公式:
=TEXT(A2,"h:mm") - 下拉填充公式到所有数据行,此时B列已经显示为你需要的
1:33样式的文本内容 - 选中整个B列的公式结果,右键选择「粘贴为值」,即可得到纯文本格式的时间内容,后续修改为任意格式都不会变成小数。
方法2:用分列功能转换(无需写公式)
- 先选中所有时间数据所在的单元格,右键设置单元格格式为「自定义」,类型输入
h:mm,确保当前单元格显示为你需要的时间样式 - 点击顶部菜单栏「数据」-「分列」,直接连续点击2次「下一步」到第三步
- 第三步的「列数据格式」选择「文本」,点击「完成」即可
- 此时该列的内容已经是文本格式的时间字符串,切换为常规/文本格式都不会变成小数。
方法3:少量数据快速处理
如果只有几行数据,可以先把要存放结果的单元格格式提前设置为「文本」,再逐个双击原时间单元格、复制单元格里的显示内容,粘贴到提前设好格式的文本单元格即可。
内容的提问来源于stack exchange,提问作者Jim O.
相关产品推荐
相关产品推荐

