【EXCEL】杂乱日期格式转为统一形式 / 任意日期格式转为文本格式 / 日前变成杂乱数字“43xxx”怎么办 【数据清洗】

情景,将各种日期格式转为"2019-01"格式

老师/上级给了你一个任务: 有几张excel表格(.xlsx文件),要你把大家的获奖记录统计到一个excel表格里。

你看了看前面的字段,嗯,复制粘贴到一起就可以了,比较简单,然后你看了看日期——

呵呵

说好的填写“年-月”,填日期的同学是什么情况?42795是什么情况?

填日期的也就算了,2018“月”是什么情况?这位同学这个智商…他是怎么得奖的?

经过一番斗争,我总结了一套方案, 可以高效地 将各种日期格式转为 “2019-01” 格式。

方案

第一步:开始选项卡 - 数字栏 - 格式选为“短日期”

短日期

这主要是针对43040这种数据:

  • 这种数据还有另一个名字:时间戳;
  • 是计算机保存数据的方式,暗含了数据信息,让excel帮你转换为“人能看得懂”的形式即可,效果如下。

在这里插入图片描述

注意到“2019.09”这栏数据不适与被转换为“短日期”:

  • 因为excel并不认为“2019.09”是一种时间数据;
  • 只把他当成文本格式进行转换,文本转换值默认都为“1905/7/11”。

我们跳转下一步,正式开始处理。

第二步:YEAR、MONTH、DAY函数

在这里插入图片描述

输入函数:

=YEAR(C1)& “-” & MONTH(C1)

其中:

  • YEAR()、MONTH()可以从单元格中提取年、月;
  • &表示连接字符串;&"-"&即年、月间用“-”连接;

那么如何把“2019-3”转换为“2019-03”呢?

第三步:用TEXT函数增加前导0

将第二步函数抛弃,输入函数:

=YEAR(C1)& “-” & TEXT(MONTH(C1),“00”)

效果如下图。
在这里插入图片描述

其中,TEXT()函数设置了省缺值,如果返回7,则更改为07。

第四步:MID()提取文本数据

有些同学填写了"2019.09"这种,计算机不将其理解为时间数据,因此我们用文本函数提取它:

=MID(B3,1,4) & “-” & MID(B3,6,2)

在这里插入图片描述

MID(txt,a,b)表示:

  • 对于数据txt;
  • 提取第a个字符开始的;
  • 共b个字符的数据。

第五步:手动处理问题数据

有些同学人为地填写错误,计算机当然难以分析咯。

对于这部分数据:

  • 量很少;
  • 做完纵览总表后,我们手动去掉就好。

在这里插入图片描述

欢迎关注:

  • 我的WX公众号:PiperNest
  • bilibili:Piper_佳鸽
发布了132 篇原创文章 · 获赞 36 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42815609/article/details/103196573
今日推荐