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

如何用Excel公式将DD/MM/YYYY转为DD/MM/YY(需为日期格式)

解决Excel中DD/MM/YYYY转DD/MM/YY(非文本格式)的问题

看起来你走进了一个常见的误区:把「日期显示格式」和「日期底层数值」搞混了。其实不需要手动拼接年份减2000的字符串,Excel本身就能轻松搞定,还能保证结果是真实的日期值(不是文本)。

核心原理

Excel里的日期本质是序列号(比如2019-11-15对应43760),「DD/MM/YY」只是它的显示格式,底层年份还是完整的2019。你要的「15/11/19」只是显示效果,不需要修改底层的日期数值,只要转成真实日期后调整显示格式就行。

具体步骤

1. 把文本型日期转为真实日期值

你的A2是文本"15/11/2019",先把它转成可计算的日期值:

  • 如果只有文本型日期,直接用:
    =DATEVALUE(A2)
    
  • 如果A列混合了日期型(本身就是数值)和文本型日期,用更通用的公式:
    =IF(ISNUMBER(A2), A2, DATEVALUE(A2))
    
    这个公式会自动判断:如果是日期型(数值)就直接用,是文本就转成日期值,比你之前用CELL("type")的写法更可靠。

2. 设置显示格式为DD/MM/YY

得到真实日期值后,调整显示格式:

  • 选中公式结果的单元格,右键 → 「设置单元格格式」
  • 切换到「数字」选项卡,选择「自定义」
  • 在「类型」输入框里填:dd/mm/yy(大小写均可,效果一致)
  • 点击确定,单元格就会显示为15/11/19,但底层还是完整的2019年日期值,支持排序、计算等日期操作。

为什么你的原公式不行?

你之前拼接YEAR(...) - 2000得到19,再用VALUE转字符串,Excel的VALUE函数会自动补全两位数年份(默认规则:00-29补20xx,30-99补19xx),所以VALUE("15/11/19")会被识别为2019年的日期,这和直接转成完整日期后改格式的底层数值完全一致——完全没必要多此一举。

额外报错处理

如果遇到DATEVALUE报错,说明文本日期格式不被Excel识别,可以用手动拆分的方式转日期:

=IF(ISNUMBER(A2), A2, DATE(RIGHT(A2,4), MID(A2,4,2), LEFT(A2,2)))

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

火山引擎 最新活动