点击上方 蓝字 关注我们
文末抽奖送出一本书《Spark快速大数据分析》
前几期小编已经把整理好的Excel各类函数分享给大家了并且讲了统计函数的用法,我这一期我们一起来学习下时间函数。
DATE函数
DATE 函数返回表示特定日期的连续序列号,它包括三个参数Year,Month,Day。例如,我们需要将分别处于三列的年月日合并为一个日期放在新的列中,就可以使用DATE函数进行处理,具体实现方式如下图所示。
拓展:假如2020年8月8日是我的第一份工作的入职日期,我想要计算工作3年两个月零8天是哪年哪月哪日,也可以用到DATE函数与YEAR,MONTH,DAY函数进行组合计算,只需要在年月日对应的位置加上相应的数字即可。YEAR,MONTH,DAY具体用法下一节进行讲解。
YEAR/MONTH/DAY/HOUR/SECOND
YEAR/MONTH/DAY/HOUR/SECOND返回日期中的年月日时分秒,后面接的都是需要查找的日期。例如,我们要查找2020年8月8日所在的年份,我们可以使用函数YEAR(D2)或者YEAR(DATE(2020,8,8))。
MONTH/DAY/HOUR/SECOND函数的用法与YEAR完全一致,需要注意的是使用HOUR/SECOND查找时分秒时,被查找对象需要包含时分秒的信息,否则会返回0值。
WEEKDAY/WEEKNUM
WEEKDAY返回对应于某个日期的一周中的第几天。默认情况下,天数是 1(星期日)到 7(星期六)范围内的整数。例如我们想要知道2020年8月8日是星期几,我们就可以用WEEKDAY函数进行计算,具体计算方式详见下图。
WEEKNUM返回特定日期的周数,该函数有两个参数,分别是需要计算的日期以及返回的方式,如下例所示,我们计算2020年8月8日是当年的第几周,我们得到的结果是32,具体操作如下图所示。
需要注意的是该函数有两种返回机制:
机制 1 包含 1 月 1 日的周为该年的第 1 周,其编号为第 1 周。
机制 2 包含该年的第一个星期四的周为该年的第 1 周,其编号为第 1 周。
NOW/TODAY/DAYS/ DATEDIF
NOW函数计算当前时间,不需要参数,它返回的是当前的日期,包含时和分,例如,今天是2020年12月6日使用NOW()计算得出当前日期为2020/12/6 13:16。
TODAY函数也可以计算当前时间,同样不需要参数,它与NOW函数的区别在于TODAY函数不返回时和分,只返回当天的日期。例如,今天是2020年12月6日使用TODAY()计算得出当前日期为2020/12/6 。
DAYS函数返回两个日期之间的天数,包括End_date 和Start_date 两个参数 ,用于计算期间天数的起止日期。
如果任何一个日期参数为文本,该参数将被视为 DATEVALUE(date_text) 并返回整型日期,而不是时间组件,DATEVALUE函数用法会在下一节进行讲解。
DATEDIF函数同样返回两日期之间的差值,但是该函数相比DAYS多了一个参数-返回方式,'d'返回相差天数,'m'返回相差月份数,'y'返回相差年数。相比DAYS函数,DATEDIF更加智能,但是这个函数在office2019版本中已经不再使用了。不过也不用太担心,因为之后要讲的SQL中会有这个函数。
文本转日期
DATEVALUE函数用法也比较简单,仅有一个参数Date_text即文本类型的日期,它会将文本类型的日期转换为日期格式的。
文本转换为日期还可以用文本函数进行处理,下面这个例子中我们用到了DATE,LEFT,MID,RIGHT文本处理函数。
DATE函数的用法在前面第一节已经讲过,我们具体看一下其他几个文本函数的用法。
LEFT 会在单元格 C2 中查找并从左起提取前 4 个字符。这将在单元格 D2 中创建“2020”作为转换后日期的年。
MID 函数将在单元格 C2 中查找。它将从第 5 个字符开始,然后向右提取 2 个字符。这将在单元格 D2 中创建“11”作为转换后日期的月。
RIGHT 函数会在单元格 C2 中查找,然后从最右侧开始向左提取前 2 个字符。这将在 D2 中创建“11”作为日期的日。
调整和设置日期格式
时间的格式很多,例如2020年8月8日,2020/08/08,2020-08-08等等。如果数据源很多的话,就需要对时间格式进行统一的管理,也可以自定义时间格式规范。
小编为大家总结了通配的时间格式,大部分编程语言通配时间格式基本一致,例如EXCEL和SQL基本相同,但也有一些写编程语言会有差异,具体情况还得具体分析。
格式 | 意义 |
YYYY | 通配的四位数年格式 |
MM | 通配的两位数月格式 |
DD | 通配的两位数日格式 |
HH | 通配的的两位数小时(24小时)格式 |
hh | 通配的两位数小(12小时制)格式 |
mm | 通配的两位数分格式 |
ss | 通配的两位数秒格式 |
2020/08/08用通配格式可以表达成yyyy/MM/dd
2020/12/6 13:16用通配格式可以表达成yyyy-MM-dd HH:mm
在EXCEL中也是可以调整日期格式的,具体操作如下图所示。
同时我们也给出了动态图的演示。
参考文章
https://zhuanlan.zhihu.com/p/23618955
在最后送出一本书《Spark快速大数据分析》,在后台回复【Spark】即可参与抽奖,可点击链接查看书籍详情,中奖的小伙伴请尽快填写联系方式。
如果您觉得我们的文章还不错,请分享,点赞,再看,一键三连!!!
数据分析入门系列文章持续更新中,欢迎添加小助手微信加入数据人专属交流群
数据人必会的Excel|还在给老板看苍白无力的数据?有了这份Excel炫酷的报表,还愁不升职加薪?
![](https://i-blog.csdnimg.cn/blog_migrate/72c992396d1a48c2a310a27ccd1c5d77.png)
数据看世界|9幅动态图5个数据指标带你了解新冠肺炎的全球现状!!
![](https://i-blog.csdnimg.cn/blog_migrate/0ba893cd47809c58b78f17bc7d912e61.png)
数据看世界|球王马拉多纳因心梗去世!用数据告诉还在996的你,心梗那些事儿!
![](https://i-blog.csdnimg.cn/blog_migrate/9bcc647c789b6df00fe74dbd48f13f4d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e15727c12276237f7ba698006c11dd9e.png)
分享数据知识,成就数据理想
点个在看 你最好看