Excel中使用=LEFT(D2,11)提取日期返回数字而非日期,该如何解决?
解决Excel提取日期返回数字的问题
问题原因
Excel中的日期时间本质是浮点数:整数部分代表从1900年1月1日开始的天数(比如42979对应2017年9月1日),小数部分代表一天中的时间占比。你用=LEFT(D2,11)时,函数直接读取的是单元格底层的数值,而非你看到的日期时间文本,所以返回了数字。单纯改单元格格式只是改变显示方式,无法改变函数返回的内容。
可行解决方案
方法1:先转文本再提取
用TEXT函数把日期时间转换成指定格式的文本,再用LEFT提取:=LEFT(TEXT(D2,"m/d/yyyy h:mm:ss AM/PM"),11)注意
TEXT的格式要和原单元格显示的格式完全匹配(比如原单元格日期后有两个空格,格式里也要加),这样才能准确提取前11位的日期部分。方法2:直接提取日期数值(更推荐)
因为日期对应数值的整数部分,用INT函数截取整数,再设置单元格格式为日期即可:=INT(D2)或者直接转成文本格式的日期:
=TEXT(INT(D2),"m/d/yyyy")方法3:用日期函数拆分
通过YEAR/MONTH/DAY函数提取年月日,再组合成日期:=DATE(YEAR(D2),MONTH(D2),DAY(D2))同样设置单元格为日期格式就能正常显示。
内容的提问来源于stack exchange,提问作者AnaP
相关产品推荐
相关产品推荐

