查看原文
其他

[Excel]5招快速拯救杂乱无章的日期格式

2017-02-28 效率火箭 效率火箭

从不同渠道、不同系统采集来的数据,往往可能会出现数据格式不匹配的情况,比如。。。


某天火箭君在做某张透视表时,怎么也无法对“日期”格式的列进行分组?&……%¥#@

经过了一番仔细查看后才发现,原来原始数据中的日期格式都被保存成了文本格式,因此无法直接分组。

那究竟该怎么整这些乱七八糟的日期格式呢?


假设数据

假设这里有四种日期格式的错误。第二列使用ISTEXT()函数判断了第一列日期的格式。

前两种错误是日期格式的形式,但被强行保存成了文本。因而即便选择日期格式,单元格中的内容仍无法被识别为日期。

第三种则使用了非系统认可的日期形式,也被识别为了文本。

第四种则是一串8位数字,因为没有使用任何分割符号,因此被识别为了数字。


方法1

利用简单运算

对原日期列进行简单公式运算,可以是+0,-0,*1,/1。


方法2

使用函数DATEVALUE

DATEVALUE函数是一个把文本转成日期的函数命令。


方法3

使用选择性粘贴

复制原数据,然后选择“选择性粘贴”中的“加”,文本便被强制转换成了数字。再通过更改单元格格式,便能将部分日期文本转化为日期格式。


方法4

使用 数据|分列

利用分列功能,最大的特点就是能够一下子解决这四种错误形式。

具体操作如下:

  • 选中要处理的数据,选择数据标签中的分列功能

  • 在向导第一步中,选择“分隔符号”

  • 在向导第二步中,不选择任何符号,这样就能对所有可能得符号进行识别

  • 在向导第三步中,选择"日期”

方法5

利用公式重设没有分隔符的日期

针对8位数字的日期,可以利用公式命令=TEXT(B4,"0000\/00\/00")+0

TEXT函数本身便可以以一种特殊的数字格式将一个数转换为文本。在这个案例中,TEXT函数的第二个参数被设置为了“0000\/00\/00”,从而将原先的8位数字转换成了“0000/00/00”这样的形式。


总结

5中方法可以分成三类:

前三种方法,操作非常简单,但仅适用于日期形式的文本;

第四种方法最为万能,几乎所有有关日期形式的错误都可以通过分列进行处理;

而专门针对8位数字这样的日期表达,第五种方法提供了利用公式解决的额外方法。


相关文章:

DATA MAP:地图数据及可视化神器级EXCEL工具

[Excel]没有数据有效性,你也可以用条件格式来判断输入内容

[Excel]如何将多个查询结果置于一个单元格



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存