首页 > 代码库 > Excel教程(5) - 日期与时间函数
Excel教程(5) - 日期与时间函数
DATE
用途:返回代表特定日期的序列号。
语法:DATE(year,month,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(2001,1,1)”返回 36892。
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("2001/3/5")”返回 36955, DATEVALUE("2-26")返回 36948。
DAY
用途:返回用序列号(整数 1 到 31)表示的某日期的天数, 用整数 1 到 31 表示。
语法:DAY(serial_number)
参数:Serial_number 是要查找的天数日期,它有多种输 入方式:带引号的文本串(如"1998/01/30")、序列号(如 1900
日期系统的 35825 表示 的 1998 年 1 月 30 日),以及其他公式 或函数的结果(如 DATEVALUE("1998/1/30"))。
实例:公式“=DAY("2001/1/27")”返回 27,=DAY(35825) 返回 30,=DAY(DATEVALUE("2001/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("1998/2/1","2001/2-1")”返回 1080。
EDATE
用途:返回指定日期(start_date)之前或之后指定月份的 日期序列号。
语法:EDATE(start_date,months)
参数:Start_date 参数代表开始日期,它有多种输入方 式:带引号的文本串(例如:"1998/01/30")、序列号(如 35825
表示 1998 年 1 月 30 日)或其他公式或函数的结果(例如: DATEVALUE("1998/1/30"))。Months 为在 start_date 之前或 之后的月份数,未来日期用正数表示,过去日期用负数表示。
实例:公式“=EDATE("2001/3/5",2)”返回 37016 即 2001
年 5 月 5 日,=EDATE("2001/3/5",-6)返回 36774 即 2000 年
9月5 日。
EOMONTH
用途:返回 start-date 之前或之后指定月份中最后一天 的序列号。
语法:EOMONTH(start_date,months)
参数:Start_date 参数代表开始日期,它有多种输入方 式:带引号的文本串(如"1998/01/30")、序列号(如 1900 日期 系统中的 35825)或其他公式或函数的结果(如 DATEVALUE("1998/1/30"))。Month 为 start_date 之前或之后 的月份数,正数表示未来日期,负数表示过去日期。
实例:公式“=EOMONTH("2001/01/01",2)”返回 36981 即 2001年3月 31 日,=EOMONTH("2001/01/01",-6)返回 36738
即 2000 年 7 月 31 日。
HOUR
用途:返回时间值的小时数。即介于 0(12:00 A.M.)到 23(11:00 P.M.) 之间的一个整数。
语法:HOUR(serial_number)
参数:Serial_number 表示一个时间值,其中包含着要返 回的小时数。它有多种输入方式:带引号的文本串(如"6:45 PM")、十进制数(如 0.78125 表示 6:45PM)或其他公式或函数 的结果(如 TIMEVALUE("6:45 PM"))。
实例:公式“=HOUR("3:30:30 PM")”返回 15,=HOUR(0.5) 返回 12 即 12:00:00 AM,=HOUR(29747.7)返回 16。
MINUTE
用途:返回时间值中的分钟,即介于0到 59 之间的一个 整数。
语法:MINUTE(serial_number)
参数:Serial_number 是一个时间值,其中包含着要查找 的分钟数。时间有多种输入方式:带引号的文本串(如"6:45 PM")、十进制数(如 0.78125 表示 6:45 PM)或其他公式或函数 的结果(如 TIMEVALUE("6:45 PM"))。
实例:公式“=MINUTE("15:30:00")”返回 30,
=MINUTE(0.06)返回 26,=MINUTE(TIMEVALUE("9:45 PM"))返
回 45。
MONTH
用途:返回以序列号表示的日期中的月份,它是介于 1(一 月)和 12(十二月)之间的整数。
语法:MONTH(serial_number)
参数:Serial_number 表示一个日期值,其中包含着要查 找的月份。日期有多种输入方式:带引号的文本串(如 "1998/01/30")、序列号(如表示 1998 年 1 月 30 日的 35825) 或其他公式或函数的结果(如 DATEVALUE("1998/1/30"))等。
实例:公式“=MONTH("2001/02/24")”返回 2,
=MONTH(35825)返回 1,=MONTH(DATEVALUE("2000/6/30"))返
回 6。
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"))。
注意:该函数只有加载“分析工具库”以后方能使用。
NOW
用途:返回当前日期和时间所对应的序列号。
语法:NOW()
参数:无
实例:如果正在使用的是 1900 日期系统,而且计算机的 内部时钟为 2001-1-28 12:53,则公式“=NOW()”返回 36919.54。
SECOND
用途:返回时间值的秒数(为0至 59 之间的一个整数)。
语法:SECOND(serial_number)
参数:Serial_number 表示一个时间值,其中包含要查找 的秒数。关于时间的输入方式见上文的有关内容。
实例:公式“=SECOND("3:30:26 PM")”返回 26,
=SECOND(0.016)返回 2。
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。
TODAY
用途:返回系统当前日期的序列号。
参数:无
语法:TODAY()
实例:公式“=TODAY()”返回 2001-8-28(执行公式时的 系统时间)。
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("2001/8/28",2)”返回 2(星期 二),=WEEKDAY("2003/02/23",3)返回 6(星期日)。
WEEKNUM
用途:返回一个数字,该数字代表一年中的第几周。
语法:WEEKNUM(serial_num,return_type)
参数:Serial_num 代表一周中的日期。应使用 DATE 函数 输入日期,或者将日期作为其他公式或函数的结果输入。 Return_type 为一数字,确定星期计算从哪一天开始。默认值 为 1。
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"))。
YEAR
用途:返回某日期的年份。其结果为 1900 到 9999 之间的 一个整数。
语法:YEAR(serial_number)
参数:Serial_number 是一个日期值,其中包含要查找的 年份。日期有多种输入方式:带引号的文本串(例如 "1998/01/30")、序列号(例如,如果使用 1900 日期系统则 35825 表示 1998 年 1 月 30 日)或其他公式或函数的结果 (例如 DATEVALUE("1998/1/30"))。
实例:公式“=YEAR("2000/8/6")返回 2000”,
=YEAR("2003/05/01")返回 2003,=YEAR(35825)返回 1998。
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("2001/01/31","2001/06/30", 0)”返回 0.416666667,YEARFRAC("2001/01/25", "2001/09/27")返回 0.67222。
Excel教程(5) - 日期与时间函数