You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Excel中交换日期与月份数字,修正错误识别的日期格式

解决Excel日期格式识别错误的转换问题

这个问题我碰到过好多次了,核心在于你混淆了Excel里日期值文本字符串的本质区别!你的原公式出错,就是因为把已经被Excel解析成日期值的单元格当成了纯文本处理,导致提取到的是日期序列号的数字片段,而非显示的日期字符串。

下面分两种情况给你针对性的解法:

情况1:B2是纯文本格式(Excel没识别成日期,只是显示"03-12-2018")

如果B2是未被解析的文本,你只需要调整DATE函数的参数顺序,让它正确对应mm-dd-yyyy的结构:

=DATE(RIGHT(B2,4), LEFT(B2,2), MID(B2,4,2))
  • RIGHT(B2,4):提取年份2018
  • LEFT(B2,2):提取月份03
  • MID(B2,4,2):提取日期12
    公式会返回正确的日期值(2018年3月12日),之后你只需选中单元格按Ctrl+1,在「数字」选项卡中设置格式为dd-mm-yyyy,就能显示成12-03-2018

情况2:B2是日期格式(Excel已识别为2018年12月3日,显示为"03-12-2018")

这种情况下B2存储的是Excel的日期序列号(比如2018-12-03对应的序列号是43467),不能用文本函数直接处理。我们需要提取原日期的年、月、日,然后交换月和日的位置:

=DATE(YEAR(B2), DAY(B2), MONTH(B2))
  • YEAR(B2):提取原日期的年份2018
  • DAY(B2):提取原日期的“日”(3),作为新日期的“月”
  • MONTH(B2):提取原日期的“月”(12),作为新日期的“日”
    执行后会得到正确的2018年3月12日,同样设置单元格格式为dd-mm-yyyy即可显示目标格式。

如果想一步到位直接输出文本格式的日期,可以嵌套TEXT函数:

=TEXT(DATE(YEAR(B2), DAY(B2), MONTH(B2)), "dd-mm-yyyy")

快速验证B2格式的方法

选中B2按Ctrl+1打开格式窗口,查看「数字」分类:

  • 显示「文本」→ 用情况1的公式
  • 显示「日期」→ 用情况2的公式

内容的提问来源于stack exchange,提问作者user8625135

火山引擎 最新活动