Excel函数之~计算日期、天数、星期

计算日期、天数、星期的函数

      • 1、EDATE
      • 2、EOMONTH
      • 3、WORKDAY
      • 4、NETWORKDAYS
      • 5、DATEDIF
      • 6、YEARFRAC
      • 7、WEEKNUM

1、EDATE

函数定义:
计算从开始日期算起的数个月之前或之后的日期
官方说明:
计算从开始日期算起的数个月之前或之后的日期.返回值为1(1900年1月1日)~2958465(9999年12月31日)范围之间的整数(序列号值).
解赋大白话:
计算在原有的日期上增加或减少月份的
使用格式:
EDATE(start_date,months)
解赋白话格式:
EDATE(指定的日期,要增加或减去的月数)
参数定义:
start_date 一个日期值.代表开始日期.指定表示日期的数值(序列号值)或单元格引用。"start_date"的月份被视为"0’进行计算。
months 指定月份数.小数部分的值被向下舍入,若指定数值为正数则返回"start_date"之后的日期(指定月份数之后),若指定数值为负数则返回"start_date"之前的日期(指定月份数之前).
要点:
当数字显示格式为"常规"时,返回值以表示日期的数值(序列号)的形式显示.要转换成日期显示必须通过"设置单元格格式"对话框将数字显示格式转换为日期"格式.
注意事项:

  • 1.如果返回的序列号值小于1,或者大于2958465时,则函数返回错误值"#NUM!".此外,当指定了无效的日期时,函数返回错误值"#VALUE!".使用函数时要注意确认参数是否正确。
  • 2.如果months不是整数,将截尾取整。
  • 3.注意使用此函数必须安装"分析工具库"加载宏。

函数应用实例:
例1:
经典用法:食品公司要计算出食品的保持期限。

加载"分析工具库"的操作方法

在"工具"菜单上,单击"加载宏"。
在"可用加载宏"列表中,选中"分析工具库"框,再单击"确定"。
如果必要,请遵循安装程序中的指示。

excel2016版加载宏步骤:
在这里插入图片描述
在这里插入图片描述
说明:在F1单元格中得出结果为该食品到日期为过期食品。

例2:
某公司员工工作满一年需发放2000元奖金,这里将得出所需数据
在这里插入图片描述
说明:显示该发放奖金日期,如配以TODAY函数可作为提示哪些员工已该发放。

例3:
计算这个月那些员工刚满一年(即12个月),并提示出"该发奖金"语句。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
说明:本例要得到的结果为在刚满12个月的员工栏上显示"发放"字样,以作为提示方,方便查看。

本例所涉及到的其它函数:
MONTH
从日期中提取出"月"
TODAY
即刻显示出系统日期和时间函数

2、EOMONTH

函数定义:
计算指定月份数之前或之后的月末。
官方说明:
EOMONTH函数用来计算出给定的月份数之前或之后的月末的日期.返回为1(1900年1月1日)~2958465(999年12月31日)范围之间的整数(序列号值)。
解赋大白话:
在已知的日期上计算出给定的月份数之前或之后的日期,并自动改日期为计算后的月份的最后一天。
使用格式:
EOMONTH(start_date,months)
解赋白话格式:
EOMONTH(指定的日期,需要计算的给定的月数)

参数定义:
start_date
指定表示日期的数值(序列号值)或单元格引用."start_date"的月份被视为"0’进行计算。
months
指定月份数.小数部分的值被向下舍入,若指定数值为正数则返回"start_date"之后的日期(指定月份数之后的月末),若指定数值为负数则返回"start_date"之前的日期(指定月份数之前的月末)。

要点:
当数字显示格式为"常规"时,返回值以表示日期的数值(序列号)的形式显示.要转换成日期显示必须通过"设置单元格格式"对话框将数字显示格式转换为日期"格式。
注意事项:
1.如果返回的序列号值小于1,或者大于2958465时,则函数返回错误值"#NUM!".此外,当指定了无效的日期时,函数返回错误值"#VALUE!".使用函数时要注意确认参数是否正确。
2.如果months不是整数,将截尾取整。
3.注意使用些函数必须安装"分析工具库"加载宏。

函数应用实例:
例:
经典用法:计算下次付款日期
在这里插入图片描述
在这里插入图片描述

3、WORKDAY

函数定义:
计算除了周末和节假日之外的日期
官方说明:
用来计算给定日期之前或之后的除节假日和双休日之外的日期。返回日期值为1(1900年1月1日)~~2958465(999年12月31日)范围之间的整数(序列号值)。
解赋大白话:
一般用于计算下一个工作日.能在周末休息日上增加自己特定的休息日期。
使用格式:
WORKDAY(start_date,days,holidays)
解赋白话格式:
WORKDAY(指定日期,几个工作日,自己特定的非工作日)
参数定义:
在这里插入图片描述
要点:
当在工作表上编制了休息日列表时,可以用做参数的"holidays".此外,除了列表之外,也可使用数组常量。
注意事项:
1.当指定的"start_date"或"holidays"的值无法识别为日期时,返回错误值"#VALUE!",如果当"start_date"或"days"的和小于1或者大于2958465时,则函数返回错误值"#NUM!".此外,当指定了无效的日期时,使用函数时要注意确认参数是否正确。
2.注意使用这些函数必须安装"分析工具库"加载宏。
函数应用实例:
从接收日开始计算,计算除了周末和节假日之外的4个工作日之后的发送日期.在单元格中输入开始日,除了周六、周日和节假日之外的4天之后的序列号值,将该序列号值作用为日期显示在中.

在这里插入图片描述

4、NETWORKDAYS

函数定义:
计算除了周六、日和休息日之外的工作天数。
官方说明:
用来计算指定期间内的,除了周六、日和休息日之外的工作天数。
解赋大白话:
计算实际在工作的天数。
使用格式:
NETWORKDAYS(start_date,end_date,holidays)
解赋白话格式:
NETWORKDAYS(开始日期,结束日期,自己特定的非工作日)
参数定义:
在这里插入图片描述
要点:
当在工作表上编制了休息日列表时,可以用做参数的"holidays".此外,除了列表之外,也可使用数组常量。
注意事项:
1.当指定的值无法识别为日期时,返回错误值"#VALUE!",使用函数时要注意确认参数是否正确。
2.注意使用这些函数必须安装"分析工具库"加载宏。
函数应用实例
经典用法:计算除了周六、日和休息日之外的工作天数
在这里插入图片描述

5、DATEDIF

函数定义:
计算期间内的年数、月数、天数
官方说明:
计算期间内的年数、月数、天数.以指定的"单位"进行天数计算,通过更改"单位",可以进行6种类型天数的计算.
解赋大白话:
从已知的一段时间内,求年数、月数、天数.
使用格式:
=DATEDIF(start_date,end_date,"y")、 =DATEDIF(start_date,end_date,"m")、 =DATEDIF(start_date,end_date,"d")、=DATEDIF(start_date,end_date,"ym")、 =DATEDIF(start_date,end_date,"yd")、 =DATEDIF(date1,date2,"md")

解赋白话格式:
DATEDIF(开始日期,结束日期,要计算的单位)
参数定义:
在这里插入图片描述
要点:
不能从"插入函数"对话框中输入.全使用时必须直接键盘输入单元格中.
注意事项:
当start_date或end_date中指定的值无法识别为日期时返回错误值"#VALUE!".当返回值为负数时,或者y、m、d、ym、yd、md参数没有用双引号括住时,返回错误值"#NAME!".

函数应用实例:
计算周岁:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、YEARFRAC

函数定义:
计算指定期间占一年的比率。
官方说明:
以1年为"1"时所占的比率的形式计算出从"start_date"到"end_date"之间的天数.返回值为包含小数的数值。
解赋大白话:
从已知的一段时间内,求它在一年所占的比率。
使用格式:
YEARFRAC(start_date,end_date,basis)
解赋白话格式:
YEARFRAC(开始日期,结束日期,计算的方式)
参数定义:
在这里插入图片描述
要点:
此函数的返回值以含小数的形式显示。如果要换成百分比形式显示,则必须通过"单元格格式"对话将数字显示格式更改为"百分比"的形式。
注意事项:
1.当指定的"start_date"或"end_date"的值无法识别为日期时,返回错误值"#VALUE!"
2.当"basis"中指定的值不在0~4范围内时返回错误值"#NUM!"
函数应用实例:
经典用法:计算下面日期在1年中的所占比率:
在这里插入图片描述
这里basis 可以有5种选择,根据自己的需求选择即可。
在这里插入图片描述

7、WEEKNUM

函数定义:
计算从1月1日算起的第几个星期。
官方说明:
返回一个数字,该数字代表一年中的第几周。
解赋大白话:
计算某天在一年中是第几个星期。
使用格式:
WEEKNUM(serial_num,return_type)
解赋白话格式:
WEEKNUM(日期,2)
参数定义:
在这里插入图片描述
要点:
用来计算出当以一年的第一个星期为"1"时,指定的日期处于第几个星期中。
注意事项:
1.当指定的"serial_num"的值无法识别为日期时,返回错误值"#VALUE!",如果当"return_type"中指定的值不是1(或者省略)或2时,则函数返回错误值"#NUM!".此外,当指定了无效的日期时,使用函数时要注意确认参数是否正确。
2.注意使用些函数必须安装"分析工具库"加载宏。
3.有的国家以周日为一周的开始日,有的国家以周一为一周的开始日.我国以"2"来计算。
函数应用实例:
某公司要以周为周期的销售报表及指定星期几的销售报表。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本例所涉及到的其它函数:
WEEKDAY
返回某日期的星期数,该函数使用方法详见上:WEEKDAY。
SUMIF
对满足条件的单元格的数值求和。