0
点赞
收藏
分享

微信扫一扫

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



文章目录

  • ​​情景,将各种日期格式转为"2019-01"格式​​
  • ​​方案​​
  • ​​第一步:开始选项卡 - 数字栏 - 格式选为“短日期”​​
  • ​​第二步:YEAR、MONTH、DAY函数​​
  • ​​第三步:用TEXT函数增加前导0​​
  • ​​第四步:MID()提取文本数据​​
  • ​​第五步:手动处理问题数据​​


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

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

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

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

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

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

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

方案

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

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

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

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

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

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

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

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

第二步:YEAR、MONTH、DAY函数

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

输入函数:


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


其中:

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

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

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

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


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


效果如下图。

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

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

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

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


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


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

MID(txt,a,b)表示:

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

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

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

对于这部分数据:

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

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

欢迎关注:

  • 我的WX公众号:PiperNest
  • bilibili:Piper_佳鸽


举报

相关推荐

0 条评论