表格日期显示为5位数字无法转回文本,疑似与concatenate/&操作有关
你遇到的5位数字是电子表格工具的「日期序列值」,这类工具默认将1900年1月1日记为数值1,每过1天数值加1,你直接操作日期单元格、或是用concatenate/&做拼接时,程序会默认调用单元格存储的底层序列值,而非你设置的显示格式,因此会出现数字显示的问题。
以下是不同场景的解决方法:
场景1:仅需将现有5位数字转为日期文本
不需要公式的快速操作:
- 选中所有要转换的数字单元格,右键点击「设置单元格格式」
- 在分类栏选择「日期」,选中你需要的日期显示样式,确认即可生效;如果需要输出纯文本格式,可以先调整完日期显示样式后,再将分类改成「文本」即可。
如果需要用公式转换,直接调用TEXT函数即可,格式为:TEXT(目标单元格, "日期格式代码")
示例:
- 要转成
2024-05-20格式:TEXT(A1, "yyyy-mm-dd") - 要转成
2024年5月20日格式:TEXT(A1, "yyyy年m月d日")
场景2:用concatenate/&拼接时保留日期格式
拼接时不能直接引用日期单元格,需要先通过TEXT函数将其转为指定格式的文本再拼接:
- 错误写法示例:
=A1&" 到期日:"&B1(B1为日期单元格,拼接结果会显示为XXX 到期日:45432这类数字格式) - 正确写法示例:
=A1&" 到期日:"&TEXT(B1, "yyyy-mm-dd") CONCATENATE函数写法同理:=CONCATENATE(A1," 到期日:",TEXT(B1, "yyyy-mm-dd"))
常见踩坑说明
- 不要先将日期单元格转为数值格式再转文本,会直接丢失日期格式信息
- 若转换后显示异常,可检查目标数字是否在合法日期范围内,小于1或超出工具支持的最大日期阈值的数值无法正常转换为日期
- 不同工具的格式代码有细微差异,
yyyy(四位年份)、mm(两位月份)、dd(两位日期)为通用格式代码,适配绝大多数电子表格工具
内容的提问来源于stack exchange,提问作者Dani Bear
相关产品推荐
相关产品推荐

