新書推薦:
《
中国常见植物野外识别手册:青海册
》
售價:HK$
76.2
《
三星堆对话古遗址(从三星堆出发,横跨黄河流域,长江流域,对话11处古遗址,探源多元一体的中华文明)
》
售價:HK$
87.4
《
迷人的化学(迷人的科学丛书)
》
售價:HK$
143.4
《
宋代冠服图志(详尽展示宋代各类冠服 精美插图 考据严谨 细节丰富)
》
售價:HK$
87.4
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:HK$
55.8
《
养育不好惹的小孩
》
售價:HK$
77.3
《
加加美高浩的手部绘画技法 II
》
售價:HK$
89.4
《
卡特里娜(“同一颗星球”丛书)
》
售價:HK$
87.4
|
編輯推薦: |
5位Excel高手总结的Excel函数宝典
全面涵盖Excel必知必会的10大类共340个函数
适用于Excel 20032007201020132016等版本
本书是一本怎样的书?
一本全面讲解Excel函数用法的书;
一本展现Excel函数魅力的书;
一本深度挖掘Excel函数精髓和潜能的书;
一本解决实际问题书;
一本挖掘职场能力发的书。
特色鲜明,上乘之作!
对每个函数逐一进行语法讲解,并给出实例
提供了按功能检索和按英文字母检索两种检索方式
重视原始函数公式的编写与解读,并重点突出了实务操作讲解
以实际案例的方式对Excel函数实务操作和应用做了深度挖掘
赠送10小时Excel应用技巧视频
推荐阅读(请点击链接):
《绝了!Excel可以这样用数据分析经典案例实战图表书》
《绝了!Excel可以这样用(套装共4册):效率提升秘笈 数据处理、计算与分析 图表制作 公司管理》
《绝了!Excel可以这样用(两本套装):数据处理、计算与分析 商务图表制作》
《绝了!Excel可以这样用(两本套装):Excel效率提升秘笈 Excel
|
內容簡介: |
本书全面、系统地介绍了Excel函数的相关知识及其在实际工作和科研等领域中的应用。本书内容涵盖对Excel必知必会的10大类共340个函数的语法知识及应用范例,适用于Excel 2003200720102013等各个Excel版本。书中的每个函数都有详细的语法讲解,并且给出了函数应用举例,供读者实战演练。书中还特意提供了按功能检索(目录)和按英文字母检索(附录)两种检索方式,以方便读者高效查询。
本书共12章,分为3篇。第1篇为Excel函数基础知识,主要介绍了Excel函数的相关概念,为后续学习打下基础。第2篇为Excel函数语法精讲与范例实战,涵盖了Excel中的数据库函数、日期和时间函数、工程函数、财务函数、信息函数、查找和引用函数、逻辑函数、数学和三角函数、统计函数及文本函数的具体用法。第3篇为Excel函数综合案例实战,通过多个实用案例介绍了Excel函数在生活、职场和科研等领域的应用。
本书适合几乎所有需要掌握Excel的读者阅读,包括初学Excel的各类人员、大中专院校的师生、相关培训机构的老师和学员、Excel爱好者、广大科研工作人员及各个级别Excel函数使用者等。
本书涵盖的精华内容:
Excel函数相关概念
13个数据库函数
21个日期与时间函数
40个工程函数
54个财务函数
10个信息函数
17个查找和引用函数
6个逻辑函数
60个数学和三角函数
85个统计函数
28个文本函数
10大类Excel函数综合案例
Excel函数索引表
|
關於作者: |
严学友 高级会计师。毕业于重庆理工大学会计学院。熟悉工业企业和商业企业的财务核算流程,熟悉财务管理和审计的工作流程。拥有丰富的财务核算、税收管理和审计监督等工作经验。属于大型工业企业和商业企业的双栖人才,属于核算管理与审计监督的双栖人才。已出版5部财务类书籍。
李海平 会计师。从事财务会计工作29年。现任武汉红人实业集团股份有限公司审计部经理。有丰富的会计核算和审计工作经验。从国有大中型工业企业的出纳员做起,到外企财务总监,再到上市公司审计经理和多元化企业集团审计经理等。具有丰富的房地产公司财务审计经验。
凌代红 注册会计师、高级会计师。毕业于中南财经政法大学会计系。长期从事财务管理工作,熟悉财务管理和企业管理。具有丰富的企业财务管理理论知识和良好的实务操作能力与经验,善于运用各项财务数据和指标进行财务预测和分析。
李爱文 会计师。现任职某大型化工企业的成本核算主管。精通Excel函数、数据透视表和图表操作技巧。熟悉VBA编程技能。热衷于分享Excel的实战技巧与心得,帮助每一位Excel爱好者在Excel的海洋里游弋,成为Excel高手,提高工作效率,开心工作,快乐生活。
刘 念 审计员。毕业于三峡大学财务会计专业。熟练掌握Excel的各种操作,并对Excel函数有较为深入的研究。曾供职于武汉恒发科技有限公司和中南化纤集团。现任职于潜江市审计局一分局,任审计科员。
|
目錄:
|
严学友 高级会计师。毕业于重庆理工大学会计学院。熟悉工业企业和商业企业的财务核算流程,熟悉财务管理和审计的工作流程。拥有丰富的财务核算、税收管理和审计监督等工作经验。属于大型工业企业和商业企业的双栖人才,属于核算管理与审计监督的双栖人才。已出版5部财务类书籍。
李海平 会计师。从事财务会计工作29年。现任武汉红人实业集团股份有限公司审计部经理。有丰富的会计核算和审计工作经验。从国有大中型工业企业的出纳员做起,到外企财务总监,再到上市公司审计经理和多元化企业集团审计经理等。具有丰富的房地产公司财务审计经验。
凌代红 注册会计师、高级会计师。毕业于中南财经政法大学会计系。长期从事财务管理工作,熟悉财务管理和企业管理。具有丰富的企业财务管理理论知识和良好的实务操作能力与经验,善于运用各项财务数据和指标进行财务预测和分析。
李爱文 会计师。现任职某大型化工企业的成本核算主管。精通Excel函数、数据透视表和图表操作技巧。熟悉VBA编程技能。热衷于分享Excel的实战技巧与心得,帮助每一位Excel爱好者在Excel的海洋里游弋,成为Excel高手,提高工作效率,开心工作,快乐生活。
刘 念 审计员。毕业于三峡大学财务会计专业。熟练掌握Excel的各种操作,并对Excel函数有较为深入的研究。曾供职于武汉恒发科技有限公司和中南化纤集团。现任职于潜江市审计局一分局,任审计科员。
|
內容試閱:
|
第3章 日期与时间函数
日期与时间函数是指在公式中用来分析和处理日期值和时间值的函数。函数共21个,其中DATE、DATEDIF、DATEVALUE、DAY、DAYS360、EDATE、EOMONTH、MONTH、NETWORKDAYS、NOW、TODAY、WEEKDAY、WEEKNUM、WORKDAY、YEAR、YEARFRAC等16个函数为日期函数;HOUR、MINUTE、SECOND、TIME、TIMEVALUE等5个函数为时间函数。
3.1 DATE函数:返回特定日期数值
【函数名称】DATE
【主要功能】用于返回特定日期数值,也就是特定日期的序列号。
【使用格式】=DATEyear,month,day
【参数说明】
掌握基本的时间日期函数DATE,DATEyear,month,day这三个参数能直接从日期参数中提取对应的年份、月份和所在月的第几天。
1.第一个参数year可以为一到四位。Excel将根据所使用的日期系统解释year参数。 默认情况下,Excel for Windows使用1900日期系统,而Excel
for Macintosh使用 1904日期系统
?注意:对于1900日期系统:
*
如果year位于0(零)到1899(含)之间,则Excel会将该值加上1900,再计算年份。例如,DATE115,5,1将返回20151900 115年5月1日。
*
如果year位于1900到9999(含)之间,则Excel将使用该数值作为年份。例如,DATE2015,5,1将返回2015年5月1日。如果year小于0或大于等于10000,则Excel将返回错误值#NUM!。
对于1904日期系统:
* 如果year位于4到1899(含)之间,则Excel会将该值加上1900,再计算年份。例如,DATE115,5,1将返回20151900 115年5月1日。
*
如果year位于1904到9999(含)之间,则Excel将使用该数值作为年份。例如,DATE2015,5,1将返回2015年5月1日。
* 如果year小于4或大于等于10000,或者位于1900到1903(含)之间,则Excel将返回错误值#NUM!。
2.第二个参数month代表每年中月份的数字,可以是一个正整数或负整数
* 如果month大于12,将从指定年份的一月份开始往上加算。
例如:公式=DATE2015,14,2返回代表2016年2月2日的系列数。具体算法为:以2015年1月0日(即2014年12月31日)为基准日期,2014年12月加上14个月,这时变为2016年2月,由于day参数为2,因此返回值为2016年2月2日。
* 如果month小于1,month 则从指定年份的一月份开始递减该月份数,然后再减去1个月。
例如:公式=DATE2015,-3,2表示2014年9月2日的序列号。具体算法为:以2015年1月0日(计算机虚拟日,实际日期为2014年12月31日)为基准日期,2014年12月减去3个月,这时变为2014年9月,由于day参数为2,因此返回值为2014年9月2日。也可以这样计算2015年1月减去3个月再减去1个月,最终得2014年9月,日期参数为2,返回值2014年9月2日。
?注意:上述数据也可以为0,如公式=DATE2015,0,2返回值为2014年12月2日。
* 如果month为大于等于1,且小于等于12,则直接为计算的月份数据。
例如:公式=DATE2015,10,1返回代表2015年10月1日的系列数。
3.第三个参数day代表在该月份中第几天的数字
* 如果day大于该月份的最大天数时,将从指定月份的第一天开始往上累加。
例如:公式=DATE2015,1,35返回代表2015年2月4日的系列数。具体算法为:以2015年1月0日(计算机虚拟日,实际日期为2014年12月31日)为基准日期,加上15天,2014年12月31日代表数值42004,42004加上35变成42039,表示2015年2月4日的日期序列号(此值是单元格格式为日期型的数据)。
* 如果day小于1,则day从指定月份的第一天开始递减该天数,然后再减去1天。
例如:公式=DATE2015,1,-15表示2014年12月16日的序列号。具体算法为:以2015年1月0日(计算机虚拟日,实际日期为2014年12月31日)为基准日期,减去15天,2014年12月31日代表数值42004,42004减去15变成41989,表示2014年12月16日的日期序列号(此值是单元格格式为日期型的数据)。也可以这样计算:以2015年1月1日减去15天再减去1天,最终得2014年12月16日。
【应用举例】
DATE函数用于返回特定日期数值,也就是特定日期的序列号。
Excel按顺序的系列数保存日期,这样就可以对其进行计算。如果工作簿使用的是1900日期系统,则Excel会将1900年1月1日保存为系列数
1。而如果工作簿使用的是1904日期系统,则Excel会将1904年1月1日保存为系列数0,(1904年1月2日将保存为系列数1)。例如,在1900日期系统中,Excel会将2015年5月1日保存为系列数42125,因为该日期距离1900年1月1日有42124天。
Excel中通常采用的是1900日期系统。DATE函数在年、月、日为变数的公式中非常适用。
DATE函数主要用法如下。
1.常规用法
DATE函数的常规用法为:直接使用数字,定义日期,即输入年、月、日三个参数,生成日期序列号。
如A2单元格中录入公式:=DATE2015,5,1,该序列号表示2015-5-1,如果单击右键设置单元格格式(F)选项,在数字组中选择其他数字格式,如数值格式,则显示为42125。在1900日期系统中,表示以1900年1月1日为基准日(序列号为1),2015年5月1日的序列号为42125,距离1900年1月1日是42124天(即42125?1=42124天)。
2.引用单元格,转换成日期
如A2单元格中数据是2015,B2单元格中数据是10,C2单元格中数据是1,在D2单元格中录入公式:=DATEA2,B2,C2,即产生2015-10-1的日期序列号。
3.提取字符变日期
为了实现快速输入,在输入日期数据时可以先输入类似20150501字符串的形式。完成输入后,提取单元格中录入的字符,变为日期型数据,即通过DATE函数和MID函数将文本进行一次性转换为标准日期格式。如图3.1所示,在B2单元格中录入公式:=DATEMIDA2,1,4,MIDA2,5,2,MIDA2,8,2,最终产生2015年5月1日的序列号。
图3.1 DATE函数提取字符变日期
向下复制公式,得到其他相应结果。
4.以某个日期为基准日,推算其前或后多少天的准确日期
DATE函数以某个日期为基准日,推算期前或后多少天的准确日期,如图3.2所示。2015年1月0日是计算机中虚拟的一个日期(存在这样一类虚拟日期),以此为基准日,即以2014年12月31日为基准日,推算其前91天的日期,以及其后的多少天的准确日期,并生成相对应的日期序列号。
图3.2 DATE函数基准日前(或后)多少天的计算
上述正号表示基准日后多少天,负号表示基准日前多少天。如以2014年12月31日为基准日,其前面91天的日期公式为:=DATE2015,1,A2,A2单元格数据为?91,计算结果为2014-10-1。向下复制公式,就可得到如表3.1所示的结果。
表3.1 DATE函数基准日前(或后)推算日期
2015年的第N天
公 式
对应数值
对 应 日 期
?91
=DATE2015,1,A2
41913
2014-10-1
0
=DATE2015,1,A3
42004
2014-12-31
1
=DATE2015,1,A4
42005
2015-1-1
15
=DATE2015,1,A5
42019
2015-1-15
38
=DATE2015,1,A6
42042
2015-2-7
385
=DATE2015,1,A7
42389
2016-1-20
5.以某个日期为基准日,取指定日期的当月最后一天
如A2单元格中录入数据:2015年2月5日,在B2单元格中录入公式:=DATEYEARA2,MONTHA2 1,0,则返回值为:2015年2月28日,得到了2015年2月最后一天的日期是2015年2月28日。
6.对年份和月份数据进行加减计算
上述第4点和第5点主要讲了对日期的加减计算,同样,对于日期,对其年份和月份数据同样可以进行加减计算。
* 如A2单元格中数据为:2015-5-1,在B2单元格中录入公式:=DATE
YEARA2 1,MONTHA2,DAYA2,这样就求出了单元格中指定日期的第二年的同样日期,即年份数加上1,月份及天的数据不变。
* 如A3单元格中数据为:2015-5-1,在B3单元格中录入公式:=DATE
YEARA2,MONTHA2 1,DAYA2,此公式对月份数进行加1,最后结果为2015-6-1。
上述讲了对日期型数字的年份和月份的加法计算,同样也可以做减法计算,返回其
结果。
7.计算两日期之间占全年的百分比
DATE函数能够计算两日期之间占全年的百分比,相当于实现YEARFARC函数功能。
*
如在A2单元格中录入公式:=DATE2015,5,1?DATE2015,1,1360,返回2015年5月1日与2015年1月1日之间的天数占全年(全年按360天计算)的百分比,返回值为0.333333333。
*
如在A3单元格中录入公式:=DATE2015,5,1?DATE2015,1,1365,返回2015年5月1日与2015年1月1日之间的天数占全年(全年按365天计算)的百分比,返回值为0.328767123。
8.DATE函数最特殊一例
公式=DATE2015,0,0表示2014年11月30日的序列号,具体算法为:首先看年月组成,2015年0月(计算机虚拟,实际是指2014年12月),再加上日期即2014年12月0日(又是一个计算机虚拟日期),正常数是0、1、2、3,如果日期为1时,则是2014年12月1日,但现在日期是0,即2014年12月1日减1天,因此返回值为2014年11月30日。
3.2 DATEDIF函数:计算两个日期的减法
【函数名称】DATEDIF
【主要功能】用于计算两个日期之间的天数、月数或年数。
【使用格式】=DATEDIFstart_date,end_date,unit
【参数说明】
start_date参数为一个日期,它代表时间段内的第一个日期或起始日期。日期有多种输入方法:带引号的文本串(例如"201511")、系列数(例如,在1900日期系统中42005代表2015年1月1日)或其他公式或函数的结果(例如,公式=DATEVALUE"201511"的计算结果)。
end_date参数为一个日期,它代表时间段内的最后一个日期或结束日期。
unit参数为所需信息的返回类型,如下所示。
* "Y":时间段中的整年数。
* "M":时间段中的整月数。
* "D":时间段中的天数。
* "MD":start_date与end_date日期中天数的差。忽略日期中的月和年。
* "YM":start_date与end_date日期中月数的差。忽略日期中的日和年。
* "YD":start_date与end_date日期中天数的差。忽略日期中的年。
?注意:
* 起始日期、结束日期可以为任意合法的日期格式(建议不要用.作为分隔符),或者单元格数值。
*
使用时,end_date参数的日期序列号数值一定要大于start_date参数的日期序列号数值,即end_date参数的日期一定在start_date参数的日期之后。否则,会返回错误值#NUM!。
【应用举例】
通常情况下,计算两个日期的天数,直接相减即可。在1900日期系统中,1900-1-0是虚拟的一个特殊日期,是时间日期的起点,对应序列值0。1900-1-1凌晨0点对应序列值1,即每一天对应一个序列值,单位1。1900-1-1正午12点对应序列值1.5,即时间间隔(小时、分和秒)也是同时间序列值一一对应的。于是1.25就对应1900-1-1上午6点(1代表日期是1900年1月1日,另外,1日=24小时,24*0.25=6,因此1.25就对应1900年1月1日上午6点)。
因此,很多对于日期的计算都可以转化为数值之间的计算或以此来理解。比如两个日期之间相隔的天数只要将两个日期相减就可以了。这是因为日期相减实质就是序列号相减,而序列号的单位1就等价为一天。
DATEDIF函数的主要用法如下。
1.计算两个日期之间的天数、月数或年数
*
如在A2单元格中录入公式:=DATEDIF"2014-5-1","2015-10-1","Y",表示返回2014-5-1至2015-10-1之间的年数,返回值为1。
* 如在A3单元格中录入公式:=DATEDIF"2014-5-1","2015-10-1","M",表示返回2014-5-1至2015-10-1之间的月数,返回值为17。
*
如在A4单元格中录入公式:=DATEDIF"2014-5-1","2015-10-1","D",表示返回2014-5-1至2015-10-1之间的天数,返回值为518。
* 如在A5单元格中录入公式:=DATEDIF"2015-1-1",NOW,"D" 1,假定今天是2015年5月18日,返回值为138,即返回今天是今年的第138天。上述公式也可替换成:=DATEDIFDATE2015,1,0,NOW,"D"或=DATEDIF"2014-12-31",
NOW,"D",同样得出正确结果。
2.计算员工的年龄
假定今天是2015年5月31日,根据员工的出生日期,快速计算员工的年龄。
已知员工的出生日期,使用DATEDIF函数和TODAY函数就可以计算出员工的年龄。如图3.3所示,在C2单元格中录入公式:=DATEDIFB2,TODAY,"Y",则计算员工的出生日期至今天的年数,实际上也就是计算员工的年龄。向下复制公式,可以批量计算。
图3.3 DATEDIF函数计算员工年龄
3.计算员工的工龄
假定今天是2015年5月31日,根据员工的入职日期,快速计算员工的工龄。
已知员工的入职日期,使用DATEDIF函数和TODAY函数就可以计算出员工的工龄。如图3.4所示,在C2单元格中录入公式:=DATEDIFB2,TODAY,"Y",则计算员工的入职日期至今天的年数,实际上也就是计算员工的工龄的整年数。
图3.4 DATEDIF函数计算员工工龄(年数)
上述计算员工的工龄只是粗略计算。如果需要精确到月份,假定今天是2015年5月31日,根据员工的入职日期,计算员工的准确工龄。在C2单元格中录入公式:=DATEDIFB2,TODAY,"Y""年"IFMONTHNOWMONTHB2,MONTHNOW?
MONTHB2,IFMONTHNOWMONTHB2,MONTHNOW 12?MONTHB2,IFDAY
B2DAYTODAY,11,0"个月",公式计算员工的入职日期至今天的年月数据,实际上是员工的工龄几年几个月。
公式中=DATEDIFB2,TODAY,"Y""年"返回值是员工工龄的整年数;公式后半部
分IFMONTHNOWMONTHB2,MONTHNOW?MONTHB2,IFMONTHNOW
MONTHB2,MONTHNOW 12?MONTHB2,IFDAYB2DAYTODAY,11,0"个月"是计算员工工龄中的月份数,当今天的月份数大于等于员工入职的月份数时,直接用今天的月份数减去员工入职的月份数,取值为:MONTHNOW?MONTHB2,得到员工工龄中的月份数据;当今天的月份数小于员工入职的月份数时,则用今天的月份数加上12个月再减去员工入职的月份数,取值为MONTHNOW 12?MONTHB2,得到员工工龄中的月份数据;当今天的月份数等于员工入职的月份数时,出现两种情况,如果入职时间的日期天数大于今天日期的本月天数,则返回11;否则返回0。
最终计算出员工的工龄是几年几个月的结果。如表3.2所示,上述NOW函数可以用TODAY函数替代。
表3.2 DATEDIF函数精确计算员工工龄
姓名
入职日期
工龄计算公式
工 龄
李军
2013-8-12
=DATEDIFB2,TODAY,"Y""年"IFMONTHNOWMONTHB2,MONTHNOW?MONTHB2,IF
MONTHNOWMONTHB2,MONTHNOW 12?MONTHB2,IF
DAYB2DAYTODAY,11,0"个月"
1年9个月
王倩
2010-3-1
=DATEDIFB3,TODAY,"Y""年"IFMONTHNOWMONTHB3,MONTHNOW?MONTHB3,IF
MONTHNOWMONTHB3,MONTHNOW 12?MONTHB3,IF
DAYB3DAYTODAY,11,0"个月"
5年2个月
宁静
2008-3-16
=DATEDIFB4,TODAY,"Y""年"IFMONTHNOWMONTHB4,MONTHNOW?MONTHB4,IF
MONTHNOWMONTHB4,MONTHNOW 12?MONTHB4,IF
DAYB4DAYTODAY,11,0"个月"
7年2个月
胡春梅
2006-4-8
=DATEDIFB5,TODAY,"Y""年"IFMONTHNOWMONTHB5,MONTHNOW?MONTHB5,IF
MONTHNOWMONTHB5,MONTHNOW 12?MONTHB5,IF
DAYB5DAYTODAY,11,0"个月"
9年1个月
备注:上述数据假定TODAY是2015年5月31日为基准日期的测试结果。
3.3 DATEVALUE函数:将文本格式的日期转换成序列号
【函数名称】DATEVALUE
【主要功能】将文本格式的日期转换为序列号,也就是将文字表示的日期转换成一个系列数。
【使用格式】=DATEVALUEdate_text
【参数说明】date_text参数为一个文本格式的日期,即需要转换为序列号的文本格式。
【应用举例】
如在A2单元格中录入公式:=DATEVALUE"201551",计算结果为2015-5-1的序列号。
3.4 DAY函数:计算某日期的天数序列数
【函数名称】DAY
【主要功能】返回以系列数表示的某日期的天数,用整数1到31表示,函数返回值为数值型。
【使用格式】=DAYserial_number
【参数说明】serial_number参数为一个日期。
【应用举例】
1.求出某日期系列数的日期天数
在A2单元格中录入公式:=DAY"2015-5-14",返回值为14。表示2015年5月14日是2015年5月的第14天。
2.判断某月的最大天数
判断一个月的最大天数,对于报表日期范围的设置非常实用。要获得某一月份的最大天数,可以使用DAY函数来实现。DAY函数返回指定日期所对应的当月天数。
实例:求出2015年5月的最大天数。
在Excel表中的单元格里输入公式:=DAYDATE2015,6,0,返回值为31。
解释:要求出5月的最大天数,可以求2015年6月0号的值,虽然0号不存在,但DATE函数可以接受此虚拟值,根据此特性,便会自动返回6月0号的前一月份的最大天数,即返回2015年5月最大天数。公式相当于=DAYDATE2015,5,31,或等同于=DAY"2015-5-31"。
3.5
DAYS360函数:按每年360天计算两日期之间的天数
【函数名称】DAYS360
【主要功能】以每年360天,计算两个日期之间的天数。
【使用格式】=DAYS360start_date,end_date,method
【参数说明】
start_date参数表示起始日期。日期有多种输入方法:带引号的文本串(如"201511")、系列数(例如,在1900日期系统中42005代表2015年5月1日)或其他公式或函数的结果(例如,公式=DATEVALUE"201511"的计算结果)。
end_date参数表示终止日期。
method参数是一个逻辑值,指示计算时应该使用美国还是欧洲方法。当method参数为FALSE或者省略,则表示使用美国方法;若为TRUE,则表示使用欧洲方法。
* 美国方法:如果起始日期是一个月的第31天,则将这一天视为同一个月份的第30天;如果终止日期是一个月的第31天、且起始日期早于一个月的第30天,则将这个终止日期视为下一个月的第1天,否则终止日期等于同一个月的第30天。
* 欧洲方法:无论起始日期还是终止日期是一个月的第31天,都视为同一个月份的第30天。
?注意:计算两个日期之间相差的天数,要算尾不算头,即起始日当天不算作1天,终止日当天要算作1天。
【应用举例】
使用DAYS360函数可以按照一年360天的算法计算出两个日期之间相差的天数,是一些借贷计算中常用的计算方式。DAYS360函数与DATEDIF函数的区别在于:DATEDIF函数计算两个日期之间的实际参数,并且终止日期必须大于等于起始日期,否则,将报错误值;对于DAYS360函数按照一年360天的算法(每个月30天,一年共计12个月),返回两日期间相差的天数,计算的结果不是精确值。此外起始日期没有要求,如果终止日期大于起始日期,则显示正数;如果终止日期小于起始日期,则显示负数。DAYS360函数的用法主要如下所示。
1.终止日期大于等于起始日期
*
如在A2单元格中输入公式:=DAYS360"201321","201521",返回值为720,实际上两个日期相差2年,以每年按360天进行模糊计算,最终计算为360*2=720。
*
如在A3单元格中输入公式:=DATEDIF"201321","201521","D",返回值为730,实际上两个日期相差2年,以每年实际天数进行精确计算,最终计算值为730。
*
如在A4单元格中输入公式:=DAYS360"2015531","2015820",FALSE,返回值为80,进行模糊计算,6月按30天计,7月按30天计,8月按20天计,因此这两个日期计算返回值为30 30 20=80。
*
如在A5单元格中输入公式:=DAYS360"2015531","2015831",FALSE,返回值为90,进行模糊计算,6月按30天计,7月按30天计,8月按30天计,因此这两个日期计算返回值为30 30 30=90。
*
如在A6单元格中输入公式:=DAYS360"2015520","2015831",FALSE,返回值为101,进行模糊计算,5月20日至5月31日按10天计(5月虽是31天,但用此函数时每月均按30天计),6月按30天计,7月按30天计,8月按30天计,但由于终止日期为2015831日,按美国计算计(如果终止日期是一个月的第31天、且起始日期早于一个月的第30天,则将这个终止日期视为下一个月的第1天),因此这个终止日期相当于201591,因此计算返回值为10 30 30 30 1=101。
*
如在A7单元格中输入公式:=DAYS360"2015520","2015831",TRUE,返回值为100,进行模糊计算,5月20日至5月31日按10天计(5月虽是31天,但用此函数时每月均按30天计),6月按30天计,7月按30天计,8月按30天计(因为按欧洲计算标准,每月均按30天计,即使终止月份为31天,也按30天计算),因此计算返回值为10 30 30 30=100。
*
如在A8单元格中输入公式:=DAYS360"2015520","2015520",TRUE,返回值为0。
*
如在A9单元格中输入公式:=DAYS360"2015520","2015520",FALSE,返回值为0。也就是说,起始日期与终止日期相同时,不论第三个参数method是TRUE还是FALSE时,返回值均为0,如图3.5所示。
图3.5 DAYS360函数示例
2.终止日期小于起始日期
终止日期小于起始日期,只是返回值为带负号,实际上计算还是如出一辙,如在A10单元格中输入公式:=DAYS360"2015831","2015520",FALSE,返回值为?101。
如在A11单元格中输入公式:=DAYS360"2015831","2015520",TRUE,返回值 为?100。
3.6 EDATE函数:日期加减月份后求日期
【函数名称】EDATE
【主要功能】返回指定日期start_date之前或之后指定月份数的日期序列号。
【使用格式】=EDATEstart_date,months
【参数说明】
start_date参数为一个代表开始日期的日期。应使用 DATE函数来输入日期,或者将日期作为其他公式或函数的结果输入。
month参数为start_date参数之前或之后的月数。正数表示未来日期,负数表示过去 日期。
如果 start_date 不是有效日期,函数EDATE返回错误值#VALUE!。如果 months 不是整数,将截尾取整。
【应用举例】
* 如在A2单元格中录入公式:=EDATE"201135",2,返回值为42129,即2015年5月5日;
* 如在A3单元格中录入公式:=EDATE"201535",?2,返回值为42009,即2015年1月5日。
EDATE函数公式可以用于计算银行承兑汇票的到期日;也可以根据工程的开工日期、预计工程持续月数,推算工程竣工时间。
3.7 EOMONTH函数:返回指定日期之前或之后
指定月份中最后一天序列数
【函数名称】EOMONTH
【主要功能】返回start-date之前或之后指定月份中最后一天的系列数。用函数
EOMONTH可计算特定月份中最后一天的时间系列数,用于证券的到期日等计算。
【使用格式】=EOMONTHstart_date,months
【参数说明】
start_date参数代表开始日期,它有多种输入方式:带引号的文本串(如"20170130")、序列号(如1900日期系统中的42034)或其他公式或函数的结果(如公式=DATEVALUE"2017130"的计算结果)。
months为start_date之前或之后的月份数,正数表示未来日期,负数表示过去日期。
【应用举例】
在A2单元格中录入公式:=EOMONTH"20150101",2,返回值为42094,即2015年3月31日;在A3单元格中录入公式:=EOMONTH"20150101",?2,返回值为41973,即2014年11月30日。
3.8 HOUR函数:将序列号转换成小时
【函数名称】HOUR
【主要功能】返回时间值的小时数的函数。
【使用格式】=HOURtime
【参数说明】time参数是必选参数,可以是必要的time参数,也可以是任何能够表示时刻的Variant类型的变量、数值表达式、字符串表达式或它们的组合。如果time包含Null,则返回Null。
【应用举例】
HOUR函数返回时间值的小时数,其值为0~23之间的整数,表示一天之中的某一
钟点。
HOUR函数经常用到医院的排班,排班时间为早上8:00~晚上20:00为白班时间,其余为夜班时间。在C2单元格中录入公式:=IFANDHOURB2=8,HOURB2=20,"白班", "夜班",再向下拖曳填充柄,对公式进行复制,就可以得到是白班还是夜班的结果了,如图3.6所示。
图3.6 HOUR函数示例
3.9 MINUTE函数:返回时间值中的分钟
【函数名称】MINUTE
【主要功能】返回时间值中的分钟,即一个介于0~59之间的整数。
【使用格式】=MINUTEserial_number
【参数说明】serial_number是一个时间值,其中包含要查找的分钟数。时间有多种输入方式:带引号的文本串(如"6:45
PM")、十进制数(如0.78125表示6:45 PM)或其他公式或函数的结果(如TIMEVALUE"6:45
PM")。
【应用举例】
* 在A2单元格中录入公式:=MINUTE"15:30:00",返回值为30;
* 在A3单元格中录入公式:=MINUTE0.06,0.06表示时间为上午1时26分24秒,当求取时间值中的分钟时,返回值为26;
* 在A4单元格中录入公式:=MINUTETIMEVALUE"9:45 PM",返回值为45。
当然在实际工作中,可以根据上班时间和下班时间两个值计算员工出勤的小时数。
如A5单元格是员工的上班时间;B5单位格是员工的下班时间,在C5单元格中录入公式:=HOURB5-A5 MINUTEB5-A560,这样就求出了员工的每天上班时间。
同样可以根据已知条件(如员工外出时间、员工返回时间),利用HOUR函数求出员工外出小时数。
3.10 MONTH函数:返回日期中的月份
【函数名称】MONTH
【主要功能】返回以序列号表示的日期中的月份,它是介于1(一月)~12(十二月)之间的整数。
【使用格式】=MONTHserial_number
【参数说明】serial_number参数表示需要提取月份的日期。可以是任何能够表示日期的、数值表达式、字符串表达式或它们的组合。
【应用举例】
1.提取日期中的月份数据
* 如在A2单元格中录入公式:=MONTH"20150108",返回值为1,即提取了日期中的月份数。
* 如在A3单元格中录入公式:=MONTH"2015年01月08日",返回值为1,提取了日期中的月份数。
* 如在A4单元格中录入公式:=MONTHDATE2015,1,8,返回值为1,提取了日期中的月份数,如图3.7所示。
图3.7 MONTH函数提取不同类型日期中的月份数
2.将英文月份转换成数字月份
* 如在A5单元格中录入公式:=MONTH--"August"1,返回值为8,即将英文8月(August)转换成数字月份了。
*
如在A6单元格中录入公式:=MONTH--"Aug"1,返回值为8,即将英文8月(August)转换成数字月份了,如图3.8所示。
图3.8 MONTH函数提取英文类型日期中的月份数
3.自动更新表格中的月份数
如在制表时,可以使用公式:=MONTHTODAY函数,直接提取今天的月份数据。
4.配合其他函数确定本月的季度
在A7单元格中录入公式:=TEXTROUNDUPMONTHNOW3,0,"[dbnum1]第0季度",假定现在是2015-5-17
17:12;那么返回值为第二季度。
此公式对于1~12月均适用,均可以将月份转换成对应的汉字第一季度、第二季度、第三季度和第四季度。
3.11 NETWORKDAYS函数:返回两个日期之间的
全部工作日数
【函数名称】NETWORKDAYS
【主要功能】返回两个日期之间(由参数start-data和end-data进行定义的两个日期)的全部工作日数函数,工作日不包括周末与专门指定的假期。时间值中的分钟,即一个介于0~59之间的整数。
【使用格式】=NETWORKDAYSstart_date,end_date,holidays
【参数说明】
* start_date参数:一个代表开始日期的日期。
* end_date参数:为终止日期。
*
holidays参数:表示不在工作日历中的一个或多个日期所构成的可选区域,例如,省市自治区和国家地区的法定假日以及其他非法定假日。该列表可以是包含日期的单元格区域,或是表示日期的序列号的数组常量。
【应用举例】
Excel中NETWORKDAYS函数的常见用法就是根据某一特定时期内雇员的工作天数,计算其应计的报酬。函数返回起始日期和结束日期之间的工作日数,除去周末的天数以及专门指定的假期。
假如,从2015年5月11日至2015年5月25日之间的工作日计算公式为:=NETWORKDAYS"2015511","2015525",结果为11天。省略了第三个参数,正常情况下,周六和周日属于休息日,因此在2015年5月11日~2015年5月25日之间工作日是11天(含2015年5月11日与2015年5月25日)。NETWORKDAYS在计算时,自动将周末扣除。
如果在此基础上,另外5月20日也休息,就在此基础上再减去一天,得到下面的公式:=NETWORKDAYS"2015511","2015525","2015520",结果就是10天。
3.12 NOW函数:返回当前日期和时间
【函数名称】NOW
【主要功能】返回当前日期和时间对应的序列数。
【使用格式】=NOW
【参数说明】NOW函数没有参数。
【应用举例】
在A2单元格中输入公式:=NOW,确认后即可显示出当前系统日期和时间。假定现在的系统时间是2015-5-31
9:04,那么NOW函数的返回值即为系统现在的时间:2015-5-31
9:04。当然,显示出来的日期和时间格式,可以通过单元格格式进行重新设置。
NOW函数经常配合其他函数使用。如根据NOW提取的时间,用YEAR函数提取年份,使用公式:=YEARNOW;用MONTH函数提取月份,使用公式:=MONTHNOW;用DAY函数提取日期的天数序列数,使用公式:=DAYNOW。
3.13 SECOND函数:将序列号转换成秒
【函数名称】SECOND
【主要功能】用于将序列号转换成秒,返回时间值的秒数。
【使用格式】=SECONDserial_number
【参数说明】serial_number参数是必选项,表示一个时间值,其中包含要查找的秒数,它可以是能够表示任何时刻的数据类型、数值表达式(如=0.2 0.3)、字符串表达式(如"6:45
PM")、十进制数(如0.78125表示6:45 PM)或其他公式或函数的结果(如TIMEVALUE"6:45
PM")。返回的秒数为0~59之间的整数。
【应用举例】
* 在A2单元格中输入公式:=SECOND4:48:18 PM,返回值为18,表示18秒。
* 在A3单元格中输入公式:=SECOND4:48 PM,返回值为0,表示0秒。
3.14 TIME函数:返回特定时间的序列号
【函数名称】TIME
【主要功能】返回特定时间的序列号。返回某一特定时间的小数值,函数TIME返回的小数值为0~0.99999999之间的数值,代表0:00:0012:00:00
A.M~23:59:59 11:59:59 P.M之间的时间。
【使用格式】=TIMEhour,minute,second
【参数说明】
hour参数是必选项。0(零)~32767之间的数值,代表小时。任何大于23的数值将除以24,其余数将视为小时。例如,TIME27,0,0=TIME3,0,0=0.125或3:00
AM。
minute参数是必选项。0~32767之间的数值,代表分钟。任何大于59的数值将被转换为小时和分钟。例如,TIME0,750,0=TIME12,30,0=0.520833或12:30
PM。
second参数是必选项。0~32767之间的数值,代表秒。任何大于59的数值将被转换为小时、分钟和秒。例如,TIME0,0,2000=TIME0,33,20=0.023148148或12:33:20
AM。
【应用举例】
TIME函数返回特定时间的序列号。时间值为日期值的一部分,并用小数来表示(例如,12:00 PM可表示为0.5,因为此时是一天的一半)。
* 在A2单元格中输入公式:=TIME12,0,0,如果A2单元格是日期型数据,则返回12:00:00
PM;如果是数值型,则返回0.50;如果是常规型,则返回0.5。
* 在A3单元格中输入公式:=TIME16,48,10,如果A2单元格是日期型数据,则返回4:48:10
PM;如果是数值型,则返回0.70;如果是常规型,则返回0.700115741。
3.15 TIMEVALUE函数:文本格式的时间转换为序列号
【函数名称】TIMEVALUE
【主要功能】将文本格式的时间转换为序列号。
【使用格式】=TIMEVALUEtime_text
【参数说明】time_text参数是文本字符串,代表以Microsoft
Excel时间格式表示的时间(例如,代表时间具有引号的文本字符串"6:45
PM"和"18:45")。time_text中的日期信息将被忽略。
【应用举例】
TIMEVALUE函数的用法如下:使用TIMEVALUE函数将时间转换为小数值。
*
如在A2单元格中录入公式:=TIMEVALUE"16:48:10",A2单元格的数字类型为:常规,返回值为0.700115741。
* 如在A3单元格中录入公式:=TIMEVALUE"2:24
AM",A3单元格的数字类型为:常规,返回值为0.1。时间按一天计算的小数表示形式(0.1)。
* 如在A4单元格中录入公式:=TIMEVALUE"22-Aug-2008 6:35
AM",A4单元格的数字类型为:常规,返回值为0.274305556;时间按一天计算的小数表示形式。
3.16 TODAY函数:返回当前日期
【函数名称】TODAY
【主要功能】返回当前日期的系列数。系列数是 Microsoft Excel 用于日期和时间计算的日期时间代码。
【使用格式】=TODAY
【参数说明】如果在输入函数前,单元格的格式为常规,Excel
会将单元格格式更改为日期。如果要查看序列号,则必须将单元格格式更改为常规或数值。TODAY函数也可以用于计算时间间隔。TODAY函数是没有参数的。
【应用举例】
1.TODAY函数的常规用法
假定今天是2015年5月15日,在A2单元格中录入公式:=TODAY,如果在输入函数前,单元格的格式为常规,Excel
会将单元格格式更改为日期。返回值为2015-5-15。
2.TODAY函数配合其他函数使用
通常,TODAY函数经常配合其他函数使用。
(1)求取今天的年份、月份和日期号
如用公式=YEARTODAY求取今天的年份;用公式=MONTHTODAY求取今天的月份;用公式=DAYTODAY求取今天的日期号。
(2)TODAY函数配合TEXT函数返回当前日期与星期数
如在A2单位格中录入公式:=TEXTTODAY,"yyyy-mm-dd AAAA",返回值为2015-05-15
星期五。
(3)利用TODAY函数与其他函数配合使用,可以返回上月的最后一天
实际上相当于本月的第一天减去一天,即今天减去当月的天数,就返回了上月的最后一天日期。返回上月的最后一天的函数公式为:=TODAY?DAYNOW。假定今天是2015年5月15日,那么TODAY函数得到2015-5-15,函数公式=DAYNOW得出15,那么最终相当于2015-5-15减去15,将本月的日期减去,最后就得到了上月的最后一天。此时得到2015-4-30。
(4)求取今天是今年的第多少天
要求取今天是今年的第多少天,可以使用当天日期和本年度第一天相减来获取一个数字,这个数字需要加1才能成为当天的序号。当然也可以使用当天日期和本年度第0天(当然这个是虚拟的,相当于上年度的最后一天)。
按第一种思路,公式为:=TODAY?DATEYEARTODAY,1,1 1
按第二种思路,公式为:=TODAY?DATEYEARTODAY,1,0
上述属于万能公式,年份直接取今天的年份值,这两种思路均得到今天是今年的第多少天(返回值为天数)。
?注意:本年度的第0天,相当于上年度的最后一天,如本年度的第0天,只能用DATE函数来定义。例如2015年的0天,公式定义为:=DATE(2015,1,0);而2014年最后一天是2014-12-31。我们用这两个日期相减,计算结果为0,公式为:=DATE2015,1,0?DATE2014,12,31。
(5)按中国人的习惯,返回今天的星期数
第一种公式:=TEXTTODAY,"aaaa"。返回文本格式的星期数。
第二种公式:=MODTODAY?2,7 1,单元格的格式为数字常规型,返回阿拉伯数字的星期数。
上述公式相当于:=WEEKDAYNOW,2,均返回今天的星期数。
(6)返回最近星期天的日期
① 返回最近已经过去的星期天。
第一种公式:=TODAY?IFWEEKDAYTODAY,2=7,0,WEEKDAYTODAY,2
第二种公式:=TODAY?MODTODAY?1,7,格式应为日期型。
② 返回最近即将来临的星期天。
第一种公式:=TODAY 8?WEEKDAYTODAY
第二种公式:= TODAY 8?IFMODTODAY,7=0,7,MODTODAY,7
3.17 WEEKDAY函数:返回指定日期的星期
【函数名称】WEEKDAY
【主要功能】函数将日期序列号转换成星期,最终返回指定日期对应星期数。
【使用格式】=WEEKDAYserial_number?return_type
【参数说明】
serial_number参数代表指定的日期或引用含有日期的单元格;
return_type参数代表星期的表示方式。
* 当Sunday(星期日)为1、Saturday(星期六)为7时,该参数为1;
* 当Monday(星期一)为1、Sunday(星期日)为7时,该参数为2(这种情况符合中国人的习惯);
* 当Monday(星期一)为0、Sunday(星期日)为6时,该参数为3。
WEEKDAY:返回对应星期几的数值,根据第二参数的不同意义也不同。第二参数可以是1、2和3,建议记一个2就行。中国人习惯星期日是一星期的最后一天,使用2做为第二参数正好符合这种习惯。当return_type省略时,默认情况下,return_type参数值为1,返回值为1(星期天)~7(星期六)之间的整数。
【应用举例】
WEEKDAY函数主要功能为:给出指定日期的对应的星期数。WEEKDAY函数的主要用法如下。
1.返回指定日期的星期数(常规用法)
WEEKDAY函数根据中国人的习惯返回指定日期对应的星期数,如图3.9所示,在C2单元格中录入公式:=WEEKDAYB2,2,在C2单元格右下方向下拖曳填充柄,对公式进行复制,返回值是阿拉伯数字。
图3.9 WEEKDAY函数返回指定日期的星期数(常规版)
2.返回指定日期的星期数(改进版)
如图3.10所示,对WEEKDAY函数公式进行改进,在C2单元格中录入公式:="星期"
WEEKDAYB2,2,在C2单元格右下方向拖拽填充柄,对公式进行复制,返回值是星期1、星期2
图3.10 WEEKDAY函数返回指定日期的星期数(改进版)
3.返回指定日期的中文星期数
如图3.11所示,利用WEEKDAY函数返回指定日期的中文星期数,在C2单元格中录入公式:=TEXTWEEKDAYB2,1,"AAAA",在C2单元格右下方向拖曳填充柄,对公式进行复制,返回值就是我们所需的指定日期对应的中文星期数了。
图3.11 WEEKDAY函数返回指定日期的中文星期数
主要是添加TEXT函数,TEXT函数就是用于将数值转换为按指定数字格式表示的文本,这也是该公式设置的关键所在。
4.返回两个日期相隔的星期天数
首先有两个已知日期:date1和date2(假定date2的序列值大于等于date1),那么两个日期相隔的星期天数公式如下:=INTWEEKDAYdate1,2 date2?date17。
例如计算2015-6-1和2015-6-16两个日期间相隔的星期天数,在A1单元格中录入:2015-6-1,在A2单元格中录入:2015-6-16,在A3单元格中录入:=INT
WEEKDAYA1,2 A2?A17,最终返回值为:2,表示这两个日期间相隔的星期天数是2周。
因日期2015-6-1的序列值为:42156,日期2015-6-16的序列值为42171,要计算这两个日期间相隔的星期天数,在单元格中录入公式=INTWEEKDAY42156,2 42171?
421567,同样得出返回值2。
3.18 WEEKNUM函数:返回指定日期星期数
【函数名称】WEEKNUM
【主要功能】返回一个数字,该数字代表一年中的第几周。
【使用格式】=WEEKNUMserial_num,return_type
【参数说明】
参数serial_num代表要确定它位于一年中的第几周的特定日期。可以用DATE函数来输入日期;也可以将日期作为其他公式或函数的结果输入。
参数return_type为一个数字(1或2),它确定计算星期从哪一天开始,其默认值为1。
参数return_type为1时,星期从星期日开始计算。星期内的天数从1~7记数(符合欧美等国家对星期的计数习惯)。
参数return_type为2时,星期从星期一开始计算。星期内的天数从1~7记数(符合中国人对星期的计数习惯)。
?注意:该函数在Excel 2003版只有加载分析工具库以后方能使用。在高版本中直接使用。
【应用举例】
WEEKNUM函数返回一个数字,该数字代表一年中的第几周。由于return_type参数的不同,可能对于同一天,在一年中的第几周,返回值可能不一样。例如,对于2013年6月9日而言,不同国家按自己的习惯,可能在一年中的周数不一样。
*
如在A2单元格录入公式:=WEEKNUM"2013-6-9",1,返回值是24,根据欧美等国家对星期的计数习惯,此天为一年中的第24周。
*
如在A3单元格录入公式:=WEEKNUM"2013-6-9",2,返回值是23,根据中国人对星期的计数习惯,此天为一年中的第23周。
WEEKNUM函数经常用于销售部门和销售人员对销售业绩的预测、计划、实际销售的分析以及短期销售业绩的规划等。
3.19 WORKDAY函数:返回指定工作日数之前或之后
某日期序列号
【函数名称】WORKDAY
【主要功能】返回指定工作日数之前或之后某日期的序列号。工作日不包括周末和专门指定的假日。在计算发票到期日、预期交货时间或工作天数时,可以使用函数WORKDAY来扣除周末或假日。
【使用格式】=WORKDAYstart_date,days,holidays
【参数说明】
start_date参数为一个代表开始日期的日期。start_date参数应使用DATE函数来输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数
DATE2015,7,1 输入2015年7月1日。如果日期以文本的形式输入,则会出现问题。
days参数为start_date参数之前或之后不含周末及节假日的天数。days为正值将产生未来日期;为负值将产生过去日期。
holidays参数为可选的列表,表示需要从工作日历中排除的日期值,如各种省市自治区和国家地区的法定假日或非法定假日。此列表可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量。
?注意:
* Microsoft
Excel可将日期存储为可用于计算的序列号。默认情况下,1900年1月1日的序列号是1,而2015年1月1日的序列号是42005,这是因为它距1900年1月1日有42005天。Microsoft
Excel for the Macintosh使用另外一个默认日期系统。
* 如果任何参数为非法日期值,则函数WORKDAY将返回错误值#VALUE。
* 如果Start_date加days产生非法日期值,函数WORKDAY返回错误值#NUM!。
* 如果days不是整数,将截尾取整。
【应用举例】
假定以2015-9-30为起始日期,向后数4个工作日,计算4个工作日后的日期。
如图3.12所示,在2015-10-1与2015-10-2不作为节假日的情况下,在A8单元格中录入公式:=WORKDAYA2,A3,返回值为2015-10-5,即4个工作日为:2015-9-30、2015-10-1、2015-10-2、2015-10-5(去除了中间的星期六2015-10-3和星期日2015-10-4),因此返回值为2015-10-5。
图3.12 WORKDAY函数示例
在2015-10-1与2015-10-2作为节假日的情况下,在A9单元格中录入公式:=WORKDAYA2,A3,A4:A5,返回值为2015-10-7,即4个工作日为:2015-9-30、2015-10-5、2015-10-6和2015-10-7(去除了中间的星期六2015-10-3、星期日2015-10-4以及公式指定的节假日2015-10-1与2015-10-2),因此返回值为2015-10-7。
3.20 YEAR函数:返回某日期的年份
【函数名称】YEAR
【主要功能】返回某日期的年份,返回值为1900~9999之间的整数。
【使用格式】=YEARserial_number
【参数说明】serial_number:表示需要提取年份的日期。日期有多种输入方式:带引号的文本串(例如"2015531")、系列数(例如,如果使用1900日期系统则42155表示2015年5月31日)或其他公式或函数的结果(例如DATEVALUE"2015531")。
【应用举例】
1.YEAR函数返回某日期的年份
* 在A2单元格中录入公式:=YEAR"2015531",此函数取年份值,返回值为2015。
如果使用1900日期系统(Excel for Windows 的默认值),则有以下结果:
* 在A3单元格中录入公式:=YEAR42155,此函数取年份值,返回值为2015;
* 在A4单元格中录入公式:=YEAR0.07,此函数取年份值,返回值为1900。
2.YEAR函数批量计算员工的年龄和工龄
已知员工的出生日期,使用YEAR函数和TODAY函数就可以计算出员工的年龄。如图3.13所示,在C2单元格中录入公式:=YEARTODAY?YEARB2,在C2单元格右下角向下拖动填充柄,向下复制公式,这样就可以求出全部员工的年龄了。
图3.13 YEAR函数示例
同理,已知员工参加工作的日期,使用YEAR函数和TODAY函数就可以计算出员工的工龄。
3.21 YEARFRAC函数:返回两日期间隔天数以年为
单位的分数
【函数名称】YEARFRAC
【主要功能】返回代表开始日期(start_date)和结束日期(end_date)之间总天数以年为单位的分数。也就是说:返回start_date和end_date之间的天数占全年天数的百分比。
【使用格式】=YEARFRACstart_date,end_date,basis
【参数说明】
start_date参数为必选项,为一个代表开始日期的日期。
end_date参数为必选项,为一个代表结束日期的日期。
start_date参数和end_date参数必须是有效的日期,否则函数会报错#value。
basis参数为可选项,要使用日计数基准类型,basis参数日计数基准如下:
* 参数为0或省略时,采用美国30360日基准;
* 参数为1时,采用实际天数实际天数日基准;
* 参数为2时,采用实际天数360日基准;
* 参数为3时,采用实际天数365日基准;
* 参数为4时,采用欧洲30360日基准。
【应用举例】
1.两日期间实际年的计算
如在A2单元格中录入公式:=YEARFRAC"2015614","2014613",返回2014年6月13日与2015年6月14日之间的天数占全年(全年按360天计算)的百分比,返回值为1.016666667。上述公式相当于=DATE2015,6,14?DATE2014,6,13360。
这样可以用于计算实际工龄,按美国的标准计算。
2.计算整数年
如在A3单元格中录入公式:=YEARFRAC"2015614","2014613",0,返回2014年6月13日与2015年6月14日之间的天数的整数年,返回值为1。可以用于计算工龄的实际整年数。
3.实际天数一年按360天计算年数
如在A4单元格中录入公式:=YEARFRAC"201511","201551",2,返回2015年5月1日与2015年1月1日之间的天数占全年(全年按360天计算)的百分比,返回值为0.333333333。上述公式相当于=DATE2015,5,1?DATE2015,1,1360。
4.实际天数一年按365天计算年数
如在A5单元格中录入公式:=YEARFRAC"201511","201551",3,返回2015年5月1日与2015年1月1日之间的天数占全年(全年按365天计算)的百分比,返回值为0.328767123。上述公式相当于=DATE2015,5,1?DATE2015,1,1365。
|
|