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

【Excel技巧】- 办公常用的十大函数@(二)日期时间类函数

发布时间:2022-10-16 01:30:58 所属栏目:MsSql教程 来源:转载
导读: 前面一篇图文教程我给大家讲解了一下文本类函数,各位小伙伴应该可以熟练使用了吧。今天介绍的日期时间类函数也比较多,但相比文本类函数要更加容易。
日期时间类函数常用于计算两个日期间

前面一篇图文教程我给大家讲解了一下文本类函数,各位小伙伴应该可以熟练使用了吧。今天介绍的日期时间类函数也比较多,但相比文本类函数要更加容易。

日期时间类函数常用于计算两个日期间之间的天数、月数等,计算员工的年龄、本月有哪些员工生日等情况。

下图是我汇总的日期时间类函数,可以放大查看哦。

Mssq日期函数_oracle·日期函数_oracle日期函数

日期时间类函数不像文本类函数那么复杂,也没有什么查找和替换,除了一个函数DATEDIF较复杂之外,其他的都非常容易理解。

一 DATE函数

用途:返回代表特定日期的序列号。

语法:DATE(year,monthMssq日期函数,day)

参数:year为一到四位,根据使用的日期系统解释该参数。默认情况下,Excel for Windows使用1900日期系统,而Excel for Macintosh使用1904日期系统。Month代表每年中月份的数字。如果所输入的月份大于12,将从指定年份的一月份执行加法运算。Day代表在该月份中第几天的数字。如果 day 大于该月份的最大天数时,将从指定月份的第一天开始往上累加。

注意:Excel按顺序的序列号保存日期,这样就可以对其进行计算。如果工作簿使用的是1900日期系统,则Excel会将1900年1月1日保存为序列号1。同理,会将1998年1月1日保存为序列号35796,因为该日期距离1900年1月1日为35795天。

实例:如果采用1900日期系统(Excel默认),则公式“=DATE(2016,12,5)”,返回42709。

二 DATEVALUE函数

用途:返回date_text所表示的日期的序列号。该函数的主要用途是将文字表示的日期转换成一个序列号。

语法:DATEVALUE(date_text)

参数:Date_text是用Excel日期格式表示日期的文本。在使用1900日期系统中,date_text必须是1900年1月1日到9999年12月31日之间的一个日期;而在1904日期系统中,date_text必须是1904年1月1日到9999年12月31日之间的一个日期。如果date_text超出上述范围,则函数DATEVaLUE返回错误值#value!。

注意:如果省略参数date_text中的年份,则函数DATEVALUE使用电脑系统内部时钟的当前年份,且date_text中的时间信息将被忽略。

实例:公式“=DATEVALUE("2016-12-05")”返回42709,DATEVALUE("12-05")返回42709。

三 EDATE函数

用途:返回指定日期(start_date)之前或之后指定月份的日期序列号。

语法:EDATE(start_date,months)

参数:Start_date参数代表开始日期,它有多种输入方式:带引号的文本串(例如:"2016/12/05")、序列号(如42709表示2016年12月05日)或其他公式或函数的结果(例如:DATEVALUE("2016/12/5"))。Months 为在start_date之前或之后的月份数,未来日期用正数表示,过去日期用负数表示。

实例:公式“=EDATE("2016/12/5",2)”返回42771即2017年2月5日,公式"=EDATE("2016/12/5",-6)"返回42526即2016年6月5日。

四 TIME函数

用途:返回某一特定时间的小数值,它返回的小数值从0到 0.99999999之间,代表0:00:00(12:00:00 A.M)到23:59:59(11:59:59 P.M) 之间的时间。

语法:TIME(hour,minute,second)

参数:Hour是0到23之间的数,代表小时;Minute是0到59之间的数,代表分;Second是0到59之间的数,代表秒。

实例:公式“=TIME(12,10,30)”返回序列号0.51,等价于12:10:30 PM。=TIME(9,30,10)返回序列号0.40,等价于9:30:10 AM。公式"=TEXT(TIME(23,18,14),"h:mm:ss AM/PM")"返回“11:18:14 PM”。

五 TIMEVALUE函数

用途:返回用文本串表示的时间小数值。该小数值为从 0 到 0.999999999 的数值,代表从 0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 PM) 之间的时间。

语法:TIMEVALUE(time_text)

参数:Time_text是一个用Excel 时间格式表示时间的文本串(如"6:45 PM"和"18:45"等)。

实例:公式“=TIMEVALUE("3:30 AM")”返回0.145833333,公式"=TIMEVALUE("2001/1/26 6:35 AM")"返回0.274305556。

六 YEARFRAC函数

用途:返回start_date和end_date之间的天数占全年天数的百分比。

语法:YEARFRAC(start_date,end_date,basis)

参数:Start_date表示开始日期,End_date代表结束日期。函数中的日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如35829表示1900 日期系统中的1998年1月30日),或其他公式或函数的结果(例如DATEVaLUE("1998/1/30"))。Basis表示日计数基准类型,其中0或省略为US(NASD)30/360,1实际天数/实际天数,2实际天数/360,3实际天数/365,4欧洲30/360。

实例:公式“=YEARFRAC("2016/1/1","2016/12/5",0)”返回0.9277778,公式"=YEARFRAC("2016/01/01","2016/06/01")"返回0.4166667。

七 YEAR函数

用途:返回某日期的年份。其结果为1900到9999之间的一个整数。

语法:YEAR(serial_number)

参数:Serial_number是一个日期值,其中包含要查找的年份。日期有多种输入方式:带引号的文本串(例如 "1998/01/30")、序列号(例如,如果使用 1900 日期系统则 35825 表示 1998 年 1 月 30 日)或其他公式或函数的结果(例如 DATEVALUE("1998/1/30"))。

实例:公式“=YEAR("2016/8/6")返回2016”,=YEAR("2013/05/01")返回2013,=YEAR(42207)返回2015。

八 MONTH函数

用途:返回以序列号表示的日期中的月份,它是介于 1(一月)和12(十二月)之间的整数。

语法:MONTH(serial_number)

参数:Serial_number表示一个日期值,其中包含着要查找的月份。日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如表示1998年1月30日的35825)或其他公式或函数的结果(如DATEVaLUE("1998/1/30"))等。

实例:公式“=MONTH("2016/02/24")”返回2,公式"=MONTH(42207)"返回7,公式"=MONTH(DATEVaLUE("2016/6/30"))"返回6。

九 EOMONTH函数

用途:返回start-date之前或之后指定月份中最后一天的序列号。

语法:EOMONTH(start_date,months)

参数:Start_date参数代表开始日期,它有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统中的35825)或其他公式或函数的结果(如DATEVaLUE("1998/1/30"))。Month为start_date之前或之后的月份数,正数表示未来日期,负数表示过去日期。

实例:公式“=EOMONTH("2016/01/01",2)”返回36981即2016年3月31日,公式"=EOMONTH("2016/01/01",-6)"返回36738即2015年7月31日。获取当月最后一天日期公式"=EOMONTH(TODAY(),0)"。

十 WEEKDAY函数

用途:返回某日期的星期数。在默认情况下,它的值为1(星期天)到7(星期六)之间的一个整数。

语法:WEEKDAY(serial_number,return_type)

参数:Serial_number是要返回日期数的日期,它有多种输入方式:带引号的文本串(如"2001/02/26")、序列号(如35825表示1998年1月30日)或其他公式或函数的结果(如DATEVaLUE("2000/1/30"))。Return_type为确定返回值类型的数字,数字1或省略则1至7代表星期天到数星期六,数字2则1至7代表星期一到星期天,数字3则0至6代表星期一到星期天。

实例:公式“=WEEKDAY("2016/8/28",2)”返回7(星期六),公式"=WEEKDAY("2016/02/23",3)"返回1(星期日)。

十一 WEEKNUM函数

用途:返回一个数字,该数字代表一年中的第几周。

语法:WEEKNUM(serial_num,return_type)

参数:Serial_num代表一周中的日期。应使用DATE函数输入日期,或者将日期作为其他公式或函数的结果输入。Return_type为一数字,确定星期计算从哪一天开始。默认值为 1。

实例:公式"=WEEKNUM(DATEVALUE("2016-12-05"),1)"返回50,也就是日期2016-12-05是本年度第50个周。

oracle·日期函数_Mssq日期函数_oracle日期函数

十二 WORKDAY函数

用途:返回某日期(起始日期)之前或之后相隔指定工作日(不包括周末和专门指定的假日)的某一日期的值,并扣除周末或假日。

语法:WORKDAY(start_date,days,holidays)

参数:Start_date为开始日期;Days为Start_date之前或之后不含周末及节假日的天数;Days是正值将产生未来日期、负值产生过去日期;Holidays为可选的数据清单,表示需要从工作日历中排除的日期值(如法定假日或非法定假日)。此清单可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量。日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900 日期系统时的35825表示1998年1月30日)或其他公式或函数的结果(例如 DATEVALUE("1998/1/30"))。

实例:请见如下动态图。

Mssq日期函数_oracle·日期函数_oracle日期函数

十三 DAY函数

用途:返回用序列号(整数1到31)表示的某日期的天数,用整数 1 到 31 表示。

语法:DAY(serial_number)

参数:Serial_number是要查找的天数日期,它有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统的35825表示 的1998年1月30日),以及其他公式或函数的结果(如DATEVaLUE("1998/1/30"))。

实例:公式“=DAY("2016/1/27")”返回27,公式"=DAY(35825)"返回30,公式"=DAY(DATEVALUE("2016/1/25"))"返回25。

十四 DAYS360函数

用途:按照一年360天的算法(每个月30天,一年共计12 个月),返回两日期间相差的天数。

语法:DAYS360(start_date,end_date,method)

参数:Start_date和end_date是用于计算期间天数的起止日期。如果start_date在end_date之后,则DAYS360将返回一个负数。日期可以有多种输入方式:带引号的文本串(例如:"1998/01/30")、序列号(例如:如果使用1900日期系统,则35825表示1998年1月30日)或其他公式或函数的结果(例如,DATEVaLUE("1998/1/30"))。

Method是一个逻辑值,它指定了在计算中是采用欧洲方法还是美国方法。若为FALSE或忽略,则采用美国方法(如果起始日期是一个月的31日,则等于同月的30日。如果终止日期是一个月的31日,并且起始日期早于30日,则终止日期等于下一个月的1日,否则,终止日期等于本月的30日)。 若为TRUE则采用欧洲方法(无论是起始日期还是终止日期为一个月的 31 号,都将等于本月的 30 号)。

实例:公式“=DAYS360("2016/1/1","2016/12/31")”返回360。

十五 HOUR、MINUTE和SECOND函数

这三个函数没什么特别的,详情请见如下动态图。

Mssq日期函数_oracle·日期函数_oracle日期函数

十六 NETWORKDAYS函数

用途:返回参数start-data和end-data之间完整的工作日(不包括周末和专门指定的假期)数值。

语法:NETWORKDAYS(start_date,end_date,holidays)

参数:Start_date代表开始日期,End_date代表终止日;Holidays是表示不在工作日历中的一个或多个日期所构成的可选区域,法定假日以及其他非法定假日。此数据清单可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量。

函数中的日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如使用1900日期系统的35825)或其他公式或函数的结果(如 DATEVALUE("1998/1/30"))。

注意:该函数只有加载“分析工具库”以后方能使用。

实例:计算2016年一共有多少个工作日,公式"=NETWORKDAYS("2016-01-01", "2016-12-31")"返回261,也就是说一年只有261个工作日。

十七 DATEDIF函数

用途:计算两个日期之间的天数、月数或年数。提供此函数是为了与 Lotus 1-2-3 兼容。

语法:DATEDIF(start_date,end_date,unit)。

参数:

start_date 为一个日期,它代表时间段内的第一个日期或起始日期。日期有多种输入方法:带引号的文本串(例如 "2001/1/30")、系列数(例如,如果使用 1900 日期系统则 36921 代表 2001 年 1 月 30 日)或其他公式或函数的结果(例如,DATEVALUE("2001/1/30"))。有关日期系列数的详细信息,请参阅 NOW。

end_date 为一个日期,它代表时间段内的最后一个日期或结束日期。

unit 为所需信息的返回类型,其中:

"Y":时间段中的整年数。

"M":时间段中的整月数。

"D":时间段中的天数。

"MD":start_date 与 end_date 日期中天数的差。忽略日期中的月和年。

"YM":start_date 与 end_date 日期中月数的差。忽略日期中的日和年。

"YD":start_date 与 end_date 日期中天数的差。忽略日期中的年。

实例:从身份证信息中计算出年龄。公式:=DATEDIF(DATE(MID(B33,7,4), MID(B33,11,2), MID(B33,13,2)), TODAY(), "Y")。请见如下动态图。

oracle·日期函数_Mssq日期函数_oracle日期函数

十八 NOW和TODAY函数

通过上面的讲解,细心的小伙伴会看到我已经用到了这两个函数。上面计算员工年龄的公式中就用到了TODAY函数。

注意:NOW和TODAY函数会根据日期和时间进行更改的,如果需要给文档加上日期,可以通过快捷键Ctrl+分号插入日期,Ctrl+Shift+分号插入时间。

oracle·日期函数_oracle日期函数_Mssq日期函数

文章篇幅较长,其实内容很容易理解,大家只需要了解Excel提供了该函数,具体用法可以等到要使用的时候再去帮助文档进行查看。能够看到这里的小伙伴,我相信大家已经有了成功的先决条件,只要有耐心就能成功。相信大家不用多久,就会升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰。是不是想想还有点小激动呢,嘿嘿^_^

(编辑:站长网)

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