平常办公中经常需要收集汇总下级各部门上报的数据表格。由于各部门输入人员并没有按统一标准格式输入日期,汇总数据之后往往会发现汇总数据中的日期有很多种格式。除了2009-2-3、1978年5月6日等标准格式的日期外,最常见的还有文本格式的日期78.2.3、2009.2.25和数字格式的日期20090506、091223两类(图1)。
图1
在Excel中文本、数字格式的日期即无法统一设置日期格式也不能用公式进行日期计算。对于记录少的小表格我们可以重新输入日期,但当表格中有几百上千条记录时,重新输入日期显然并不容易。其实在wps表格中通过函数就可以轻松把文本、数字的日期转换成标准日期,这样要统一设置日期格就很简单了吧?下面就针对图示表格中D列的日期,为大家介绍一下转换方法。
1.分类
先选中D2单元格,单击工具栏的“升序排列”,即可让所有日期按文本日期、数值日期、标准日期的顺序分三类分别集中在一起。然后右击D列的列标选择“插入”,在其后插入一列(E列),并选中E列右击选择“设置单元格格式”按需要设置适当的日期格式(图2)。再来就可分类对日期进行转换了,标准日期就不用处理了,只要对文本和数值两类数据进行转换即可。
图2
2.转换09.2.3
对于排在最前面的78.2.3、2009.1.25等文本日期,只要在E2输入公式=VALUE(SUBSTITUTE(D2,".","-")),然后选中E2单元格拖动其右下角的黑色小方块(填充柄)把公式向下复制填充,即可把D列的日期转换成标准日期显示在E列(图3)。函数公式表示把D2内容的.替换成-,再转换成数值。在此,若只用SUBSTITUTE函数替换成日期格式,虽然显示的是日期但Excel是把它当做文本处理的,所以必需再用VALUE转成数值才会被Excel当成日期处理。
图3
3.转换20090203
对于20090201、980201这样的数值日期格式也很简单,只要在第一个数值日期的E列单元格(E11)输入公式=VALUE(TEXT(D11,"##00-00-00")),然后选中E11单元格同样拖动其填充柄把公式向下复制填充,即可把D列的日期转换成标准日期显示在E列(图4)。函数公式表示把D2的数字内容按##00-00-00格式转成2009-02-01、98-02-01这样的文本,再用VALUE把文本转换成数值以让Excel识别为日期。
图4
OK,现在只要把转换后的E列日期(本例E2:E17)选中进行复制,再右击D2单元格选择“选择性粘贴”,以“数值”格式进行粘贴。然后选中D列,右击选择“设置单元格格式”,按需要统一设置一种日期格式即可。
此外,若配合使用IF函数把两个公式集合在一起,操作上还可以更简单些。只要右击D列的列标选择“插入”,在其后插入一列(E列),并选中E列右击选择“设置单元格格式”按需要设置好日期格式。在E2单元格输入公式=IF(ISERROR(VALUE(TEXT(D2,"##00-00-00"))),IF(ISERROR(VALUE(SUBSTITUTE(D2,".","-"))),D2,VALUE(SUBSTITUTE(D2,".","-"))),VALUE(TEXT(D2,"##00-00-00"))),并双击其右下角的填充柄向下填充。即可把D列的日期转换成统一的标准日期显示在E列。然后右击D列列标选择“隐藏”以隐藏D列,直接用E列做为“出生年月”参与计算即可。不过这样公式太长输入不便又容易输错,若只是想统一日期格式相信大家会更喜欢前面的方法吧。这一大串公式最大的用处是可以把你在D列输入的各种日期即时转换成标准日期。
注:对于两位数的年度,Excel只能自动识别为1930-2029期间的年份,如果你用两位年输入的不是这期间的年份那最终还是得动手直接修改。