加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

EXCEL时间函数都在这里了,赶紧收藏

发布时间:2022-11-17 13:31:28 所属栏目:MsSql教程 来源:网络
导读: EXCEL时间函数有20多个,单独去记忆有点苦难,当我们把每个函数的关系联系到一起就不难了,下面给大家分享一下这些函数如何串联记忆
YEAR(函数)、MONTH、DAY、HOUR、MINUTE、SECOND
首先

EXCEL时间函数有20多个,单独去记忆有点苦难,当我们把每个函数的关系联系到一起就不难了,下面给大家分享一下这些函数如何串联记忆

YEAR(函数)、MONTH、DAY、HOUR、MINUTE、SECOND

首先我们从年、月、日小时、分钟、秒函数开始(YEAR、MONTH、DAY、HOUR、MINUTE、SECOND)

这几个函数的语法都是相似的,参数都为:serial_number(序列号),指的是代表时间的连续数字,如1900年1月1日在计算机中存储的数字为1

informix日期函数_oracle日期函数_Mssq日期函数

到此我们已经轻松的记住了6个时间函数,接着开始串联了,先从YEAR函数开始,我们YEARFRAC函数,这个函数的定义是“返回一个年份数”或者“起始日期到结束日期之间的天数占全年的百分比”。从定义上面去理解有点费脑也很难理解,如果英文好的同学就很好理解,因为FRAC是折断的意思,“YEARFRAC就是一年折断”,也就是不到一年,然后在结合定义就明白这个函数的意思了

YEARFRAC函数=YEARFRAC(start_date,end_date,basis)

basis:方式

0:美国,30/360

1:实际天数/实际天数

2:实际天数/360

3:实际天数/365

4:欧洲,30/360

上图中的8%就是YEARFRAC函数的结果,两个日期相隔31天,占全年365天的占比为8%

EOMONTH函数

跟MONTH相关的函数有:EOMONTH,只是在MONTH函数之前多了一个字母EO,EOMONTH返回的是一串日期,“表示指定月数之前或者之后的月份的最后一天”读起来有些拗口,我们先了解一下EOMONTH的语法,然后在看个实例就容易理解了

=EOMONTH(start_date,months)

start_date:开始日期

months:可以是正数也可以是负数

*通俗的理解是:1,当months为负数时,如上图为-1,意思是上一个月的最后一天

2,当months为正数时,如上图为1,意思是下一个月的最后一天

DAYS360函数

为什么这个时候介绍DAYS360函数呢?因为DAY函数,在DAY函数后面加个S360就是DAYS360,DAYS360函数是什么意思呢?是将一个月按30天,一年12个月,一年按360天来计算,"返回两个日期的间隔天数"

=DAYS360(start_date,end_date,[method])

start_date:开始日期

end_date:结束日期

[method]:方法,方式,可选参数,默认为FALSE 或省略

1,FALSE 或省略:美国方法

2,TRUE:欧洲方法

oracle日期函数_informix日期函数_Mssq日期函数

从图2可以看出,开始日期和结束日期相同的情况下,间隔的天数不一样,原因是DAYS函数不是按一个月30天来计算,而且正常情况下的相减。

DAYS函数DAYS函数是返回两个日期间隔的天数

=DAYS(end_date,start_date)

前面是结束日期,后面才是开始日期,如果顺序错误,结果就是负值,如下图DATE函数

DATE是日期的意思,日期在excel表格中就是一串数字,1900-1-1表示数字1,最大日期为9999-12-31,超过则会产生错误值。

=DATE(year,month,day)

DATE函数的参数有三个,分别是year,month,day,这三个参数也都是函数

前面说了,日期在excel中就是数字,那么在它们两个间进行切换的快捷键是:ctrl+shift+~和ctrl+shift+#

和DATE函数相似的是TIME函数,因为两者的语法相似

TIME函数

TIME函数在excel表格中表示时间,如:10:12:16,日期和时间在excel表格中都是用数字来表达的,日期用的是整数,而时间用的是大于等于0,小于1的小数,如24:00:00表示数字1,12:00:00表示0.5

=TIME(hour,minute,second)

TIME函数的3个参数分别是小时,分钟,秒,而hour,minute,second也是函数

将时间转换为数字的快捷键是ctrl+shift+@

现在我们重新回到DATE函数,因为跟DATE函数有关联的函数有EDATE、DATEVALUE、DATESTRING、DATEDIF

下面分别介绍它们

EDATE函数

前面我们学习了EOMONTH,这个函数是返回某个月的最后一天,那么EDATE也是返回最后一个日期吗?当然不是,EDATE是返回指定月数后(或者前)的一天,它们相同的地方都是返回一个日期,为了加强记忆,将这两个函数语法写在一起

=EDATE(start_date,months)

=EOMONTH(start_date,months)

它们的参数居然是一样的

informix日期函数_oracle日期函数_Mssq日期函数

DATEVALUE函数

这个函数平时使用的很少,用途是将表示日期的字符串转换成序列号。

=DATEVALUE(date_text)

date_text:日期字符串

在公式中,要将日期加上英文双引号,如=DATEVALUE("2022-1-4"),否则结果会显示错误值,当需要使用单元格引用时,需要在单元格内容前加上英文单引号如:‘2022-1-4

TIMEVALUE函数

和DATEVALUE函数类似的函数就是TIMEVALUE,用途是将文本形式的时间转换成序列号。

=TIMEVALUE(timetext)

time_text:时间字符串

=DATEVALUE(date_text)

date_text:日期字符串

将2个函数语法放在一起,更容易记忆

informix日期函数_Mssq日期函数_oracle日期函数

DATESTRING函数

这个函数在某些版本不在介绍或使用,这个函数也是使用频率比较少的函数,只需了解一下即可,其实这个函数和DATEVALUE的正好是相反的,用途是将表示日期的序列号转换成文本日期

=DATESTRING(serial_number)

DATEDIF函数

DATEDIF是计算两个日期间隔的天数,月数,年数

=DATEDIF(start_date,end_date,unit)

start_date:开始日期

end_date:结束日期

unit:单位,有以下几种形式

(1)"Y":时间段中的整年数;

(2)"M":时间段中的整月数;

(3)"D":时间段中的天数。

(4)"MD":忽略日期中的月和年;

(5)"YM":忽略日期中的日和年;

(6)"YD":忽略日期中的年

Mssq日期函数_informix日期函数_oracle日期函数

WEEKDAY函数

WEEKDAY是返回代表一周中第几天的数值,是1-7之间的整数

=WEEKDAY(serial_number,[returl_type])

serial_number:日期序列号

[returl_type]:返回类型,可选参数,一共有10种情况

1:星期日开始作为一周的第一天,数字1-7

2:星期一开始作为一周的第一天,数字1-7

3:星期一开始作为一周的第一天,数字0-6

11:星期一开始作为一周的第一天,数字1-7

12:星期二开始作为一周的第一天,数字1-7

13:星期三开始作为一周的第一天,数字1-7

14:星期四开始作为一周的第一天,数字1-7

15:星期五开始作为一周的第一天,数字1-7

16:星期六开始作为一周的第一天,数字1-7

17:星期日开始作为一周的第一天,数字1-7

Mssq日期函数_oracle日期函数_informix日期函数

WEEKNUM函数

WEEKNUM返回一年中的周数

=WEEKNUM(serial_number,[returl_type])

serial_number:日期序列号

[returl_type]:返回类型,可选参数,一共有10种情况

return_type

起始于星期几,计数从1-7

系统1

1或者省略

起始于星期日

系统1

2

起始于星期一

系统1

11

起始于星期一

系统1

12

起始于星期二

系统1

13

起始于星期三

系统1

14

起始于星期四

系统1

15

起始于星期五

系统1

16

起始于星期六

系统1

17

起始于星期日

系统1

21

起始于星期一

系统2

informix日期函数_oracle日期函数_Mssq日期函数

WORKDAY函数

WORKDAY指返回指定若干个工作日之前或者之后的日期Mssq日期函数,(结果是一串数字)

=WORKDAY(start_date,days,[holidays])

start_date:开始日期

days:指定的工作日天数

[holidays]:假期,可选参数

实例:

informix日期函数_oracle日期函数_Mssq日期函数

WORKDAY是工作日的意思,所以函数默认自动跳过周末,节假日需要手动添加,从2021-12-21开始算,第10个工作日就是函数的结果,上图函数参数去除了holidays

WORKDAY.INTL函数

WORKDAY.INTL是自定义周末返回指定工作日之后的日期

=WORKDAY.INTL(start_date,days,[weekend],[holidays])

start_date:开始日期

days:指定工作日数

[weekend]:自定义周末

[holidays]:节假日编号自定义周末

1

星期六、星期日

2

星期日、星期一

3

星期一、星期二

4

星期二、星期三

5

星期三、星期四

6

星期四、星期五

7

星期五、星期六

11

仅星期日

12

仅星期一

13

仅星期二

14

仅星期三

15

仅星期四

16

仅星期五

17

仅星期六

oracle日期函数_Mssq日期函数_informix日期函数

NETWORKDAYS函数

NETWORKDAYS是返回两个日期间完整的工作日数。

WORKDAYS是返回指定工作日数的日期。

=NETWORKDAYS(start_date,end_date,[holidays])

start_date:开始日期

end_date:结束日期

[holidays]:节假日

两个函数比较一下

=WORKDAY(start_date,days,[holidays])

start_date:开始日期

days:指定的工作日天数

[holidays]:假期,可选参数

可以看出,NETWORKDAYS函数多了一个参数:end_date,语法基本相同

informix日期函数_oracle日期函数_Mssq日期函数

上图中,完整的工作日数是11天。

NETWORKDAYS.INTL函数

NETWORKDAYS.INTL是自定义周末返回两个日期间完整的工作日数

=NETWORKDAYS.INTL(start_date,end_date,[weekend],[holidays])

start_date:开始日期

end_date:结束日期

[weekend]:自定义周末,(参考WORKDAYS.INTL)

[holidays]:节假日

和WORKDAYS.INTL函数相似

=WORKDAY.INTL(start_date,days,[weekend],[holidays])

start_date:开始日期

days:指定工作日数

[weekend]:自定义周末

[holidays]:节假日

接下来是2个没有参数的函数,TODAY、NOW

TODAY函数、NOW函数=TODAY(),返回当天的日期

=NOW(),返回当前的时间

到此,所有的时间函数都介绍完毕了,大家赶紧收藏吧,关注我,分享更多干货!

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!