文章目录
情景,将各种日期格式转为"-01"格式方案第一步:开始选项卡 - 数字栏 - 格式选为“短日期”第二步:YEAR、MONTH、DAY函数第三步:用TEXT函数增加前导0第四步:MID()提取文本数据第五步:手动处理问题数据情景,将各种日期格式转为"-01"格式
老师/上级给了你一个任务:有几张excel表格(.xlsx文件),要你把大家的获奖记录统计到一个excel表格里。
你看了看前面的字段,嗯,复制粘贴到一起就可以了,比较简单,然后你看了看日期——
说好的填写“年-月”,填日期的同学是什么情况?42795是什么情况?
填日期的也就算了,“月”是什么情况?这位同学这个智商…他是怎么得奖的?
经过一番斗争,我总结了一套方案,可以高效地将各种日期格式转为“-01”格式。
方案
第一步:开始选项卡 - 数字栏 - 格式选为“短日期”
这主要是针对43040这种数据:
这种数据还有另一个名字:时间戳;是计算机保存数据的方式,暗含了数据信息,让excel帮你转换为“人能看得懂”的形式即可,效果如下。
注意到“.09”这栏数据不适与被转换为“短日期”:
因为excel并不认为“.09”是一种时间数据;只把他当成文本格式进行转换,文本转换值默认都为“1905/7/11”。
我们跳转下一步,正式开始处理。
第二步:YEAR、MONTH、DAY函数
输入函数:
=YEAR(C1)& “-” & MONTH(C1)
其中:
YEAR()、MONTH()可以从单元格中提取年、月;&表示连接字符串;&"-"&即年、月间用“-”连接;
那么如何把“-3”转换为“-03”呢?
第三步:用TEXT函数增加前导0
将第二步函数抛弃,输入函数:
=YEAR(C1)& “-” & TEXT(MONTH(C1),“00”)
效果如下图。
其中,TEXT()函数设置了省缺值,如果返回7,则更改为07。
第四步:MID()提取文本数据
有些同学填写了".09"这种,计算机不将其理解为时间数据,因此我们用文本函数提取它:
=MID(B3,1,4) & “-” & MID(B3,6,2)
MID(txt,a,b)表示:
对于数据txt;提取第a个字符开始的;共b个字符的数据。
第五步:手动处理问题数据
有些同学人为地填写错误,计算机当然难以分析咯。
对于这部分数据:
量很少;做完纵览总表后,我们手动去掉就好。
欢迎关注:
我的WX公众号:PiperNestbilibili:Piper_佳鸽
【EXCEL】杂乱日期格式转为统一形式 / 任意日期格式转为文本格式 / 日前变成杂乱数字“43xxx”怎么办 【数据清洗】