excel表格以文本格式输入的出生日期如何呢批量更改成日期格式?

单位给了一个表格,里面有工人的出生年月,要求算出工人的年龄。表格中出生年月l列是以文本格式输入的1957-09-09,我用计算年龄的公式“=year(today())-year(l2)”返回的数值是#VALUE!(0列)。网上查了下,这个公式计算前提是年月日时日期的格式,但是修改单元格格式和分列修改为日期格式后,数据形态保持不变,公式计算仍然为错误值。如果重新添加一列M,首先定义单元格格式为日期格式,再输入出生年月,显示的日期为1957-9-9,此时公式计算可用,返回N列数值。
请问各位大神,这个是什么原因,是不是还是单元格格式问题?有没有什么方法能把单元格文本格式批量更改为日期格式而不用再次一个个输入的?

  ①启动Excel表格,输入相关数据,然后在单元格D2输入公式: =TEXT(C2,"0000年00月00日")
  ②按下回车得到结果,将纯粹的数字格式改为了文本加数字的格式。关于公式的意思,稍后为大家解释。
  ③光标移动到单元格右下角,出现+号,双击,就能自动填充完数据。这样整张表格都被转换了。
公式意义:
  text(数值,单元格格式):将数值转为按指定数字格式表示的文本。
  将C2单元格的数字设置为XXXX年XX月XX日这种格式。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-26
在单元格中写入 2/3 这样类型的数据时,EXCEL会将写入的数据默认为写入的是日期数据,所以写入这样的数据时可以按如下方法操作:

方法一:
设置单元格格式为分数格式,再写入 2/3 。

方法二:
在单元格中先写入 0 按下空格键后再写入 2/3 ,这样会默认写入的是分数格式的数据。

方法三:
设置单元格格式为文本格式,再写入数据。

方法四:
在写入的数据前加上'号,如 '2/3 。这样EXCEL会默认写入的是文本数据。
第2个回答  2014-02-25
DATEDIF函数的前二个参数可以是表示日期的文本值,也可是日期值。
将L列变成日期值 可用分列命令

在O2中输入或复制粘贴下列公式
=--L2
下拉填充
将L列设为日期格式的某种类型。
不知道你出错的公式是什么?追问

我自己也试了一下,如果重新添加一列,无论我定义为日期文本还是常规格式,只要我重新录入,再使用公式,都可以算出来,唯一不行的就是用原表格中的日期那一列数据,原始数据代入公式返回的都是value····现在我也不知道是什么问题了
=--L2 这个两个小分隔符代表什么意思
能不能留个邮箱 我把原始数据发给你研究下

追答

=--L2相当于=0-(-L2)是将文本数值转换为常规数值的方法之一。
请将文件发到[email protected],我看一下能不能帮你。

本回答被提问者采纳
第3个回答  2014-02-25
试试在前面加VAL(year(l2))追问

还是不行,能不能留个邮箱 我把原始数据发给你研究下

追答

我的帐号就是