excel,mid函数截取日期的前四位年份部分的数字显示的不是年份

在excel里,使用mid函数截取前一列日期的年份部分,有的却显示的不是年份的数字,请见图,不知道说的明不。谢谢!

因为日期型数据实际上是数值,表示距离1900年1月1日的天数,只不过按日期格式显示罢了
比如说.A1显示为2002-10-28,你把它设置成常规格式,它就会变成37557,表示距离1900年1月1日的天数,当用MID(A1,4)时,显示的是3755,而不是2002
正确的写法是:
=year(a1)
或者
=text(a1,"yyyy")
----
有的能显示,有的不能显示,说明A列数据不规范,有些是日期型数据,有些是字符型数据,要先把它转换成数值型数据,所以在A1前加"--"符号.
=year(--a1)
或者
=text(--a1,"yyyy")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-12
主要是你的格式设置不统一。有的是数值型或者常规型,有的可能是文本型。
除 MID函数,用LEFT、YEAR、TEXT函数都能获得你想要的结果。但不同函数要设置好有效的格式。
第2个回答  2012-12-12
应当是你日期那栏的格式不一样,你把2002-12-28那个储存格的格式复制贴到其他日期所在的储存格,再试试看。
因为你得到的4012、4047那些值明显是把前面的日期当成了EXCEL默认计算时用的数值。
第3个回答  2012-12-12
MID 函数不可以直接取出日期中的年份。
建议用YEAR()函数
=year(--a2) 下拉~
第4个回答  2012-12-12
如果是提取日期,最好用date函数:=date()。
相似回答