【Excel心得】一个操作、三种函数,完美解决Excel中时间/日期格式不统一问题!

2020-11-19 15:32:58 浏览数 (1)

目录:

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

情景,将各种日期格式转为"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个字符的数据。
第五步:手动处理问题数据

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

对于这部分数据:

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

0 人点赞