![Excel函数与公式速查手册(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/396/27563396/b_27563396.jpg)
5.2 日期计算
函数14:DATEDIF函数(计算两个日期之间的年数、月数、天数)
函数功能
DATEDIF函数用于计算两个日期之间的年数、月数和天数。
函数语法
DATEDIF(date1,date2,code)
参数解释
- date1:表示起始日期。
- date2:表示结束日期。
- code:表示要返回的两个日期的参数代码。
用法剖析
表5-1说明了DATEDIF函数的code参数与返回值。
表5-1
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-T222_167350.jpg?sign=1739358670-pMOANukmsuBnjVzsuyD8Mb0bre9wwKbc-0-7638376528245ff37bb4aed6251b3bf7)
实例解析
实例194 统计固定资产的已使用月份
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P223_125409.jpg?sign=1739358670-FN6HHWCyskvUUeHioZ5xxjdH93HVOf98-0-d4b367031b3c851511d645a2821860ea)
表格中显示的部分固定资产的新增日期,要求计算出每项固定资产的已使用月份。
选中D2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P223_167356.jpg?sign=1739358670-1zt62U9N3cBEQgeJsdCjCOOQjU4XCQSl-0-d0ec4b8c4d76ceb1aca6c2250c3ec0ec)
按Enter键即可根据C2单元格中的新增日期计算出第一项固定资产已使用月数。
将鼠标指针指向D2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可批量计算各固定资产的已使用月数,如图5-30所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P223_125407.jpg?sign=1739358670-Wz29NJnC4k9fBBasQA2oTim4F5jHFSz9-0-7ec698ea9c053f485189c9d8fea3d1d2)
图5-30
公式解析
=DATEDIF(C2,TODAY(),"m")
以C2单元格中的日期值为起始日期,结束日期为系统当前的日期值。返回两个日期之间的相差的月份数。
实例195 计算员工工龄
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P223_125410.jpg?sign=1739358670-oHZKQ2H4uTG9tAM9Ft6AGzU8T5IJlyqS-0-39b3218fb3b971321bb355b6a37ebeb0)
表格中显示了员工的入职时间,现在要求根据入职时间计算出员工的工龄。
选中D2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P223_167360.jpg?sign=1739358670-EB28jACVEB9KpawUQLtRKmVPRaP1LcZZ-0-e37551911c97cfeb0a96f3b138a2a524)
按Enter键返回的是一个日期值。将鼠标指针指向D2单元格的右下角,光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,如图5-31所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P223_125408.jpg?sign=1739358670-HDnd40fXIB4uC5wGwQPcMxTMB2eMuQx9-0-347e4505f08c0133819810abf188a12c)
图5-31
保持公式返回结果的选中状态,再选择“开始”选项卡的“数字”组中设置数据格式为“常规”格式即可显示出正确的工龄,如图5-32所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P224_127634.jpg?sign=1739358670-cuPCn4qOW2BBk2OrByCxZyAcRh3Z9pBS-0-63b8f243e1a58de39c9a7cc77e397ff1)
图5-32
公式解析
=DATEDIF(C2,TODAY(),"y")
以C2单元格中的日期值为起始日期,结束日期为系统当前的日期值。返回两个日期之间相差的年数。
实例196 设置员工生日提醒
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P224_127636.jpg?sign=1739358670-94BrxuCRHd35FJ7MO1w6mDIdOSlzukrQ-0-9a79b2ce8a8a550c84d35d04dc476167)
某些公司会在员工生日时赠送生日礼物,为了方便人事部门的工作,利用函数可以更加方便工作人员的查看,以便及时送出生日礼品。本例将标识出当前日期开始7天内过生日的员工记录。
选中C2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P224_167366.jpg?sign=1739358670-mMcYoDs7L2ecPnggVKR0o6qiq5JbL2Kz-0-fe03ac2c235c90dfdfd38dd3e4ac33d0)
按Enter键即可返回第一位员工的生日提醒。
将鼠标指针指向C2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可返回其他员工的生日提醒情况,如图5-33所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P224_127635.jpg?sign=1739358670-ZKKvC0Flhfiv1w0RZ39aCLkrVfAnbw0s-0-8a52dc6d817ee962079a4d95357262ba)
图5-33
公式解析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P225_167370.jpg?sign=1739358670-aASMfgpGfeaOP2sJEWCeqwP8y9O7n8d2-0-94c70b3661382395d5cb0f602dc9b069)
① “$B2-7”的日期值为起始日期,结束日期为系统当前的日期,忽略年份值并返回两个日期之间的天数,当两者相差在7天以内(<=7)时即是即将过生日的员工。当相差天数小于或等于7时返回TRUE,否则返回FALSE。
② 当步骤①中的结果为TRUE时则返回“提醒”,结果为FALSE时则返回空值。
实例197 统计大于12个月的账款
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P225_125514.jpg?sign=1739358670-n6dSordisz3wzzomDNzx72kIZ5uVjSb8-0-2aed646be8cbc5e0b6c6fdae17a3f005)
根据表格显示的借款时间和对应的借款金额,统计出时长为12个月内以及12个月以上的账款金额合计值。
选中E2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P225_167373.jpg?sign=1739358670-ssRxeXXXoAzWrecRKuE4seUSCPvY5HSj-0-269ec71d74f5621837b9c128f6865181)
按Ctrl+Shift+Enter组合键即可返回12个月内的账款,如图5-34所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P225_125506.jpg?sign=1739358670-D5N7BqqCsK22su5THfEZFOU5EBU9Xwco-0-1e444e94476672404c43272daf29dfbe)
图5-34
选中E3单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P225_167375.jpg?sign=1739358670-I51P0Q6OcCWHqwMcjj2wcVgmE8do1PQx-0-7ed1fd6541e2855bbc873709a27cc5f0)
按Ctrl+Shift+Enter组合键得出12个月以上的账款,如图5-35所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P225_125507.jpg?sign=1739358670-wQLSyDgRKqJMkQ6lqS20C4dkEAEerkpS-0-5b1fc7afa59ccbf8d46ec146d7f4b533)
图5-35
公式解析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P226_167377.jpg?sign=1739358670-XgaaEBqXqWvyXqoS9rWHM9eiPHvtXZlx-0-62eef52972b5163f3113dcca8cebf797)
① 用DATEDIF函数依次返回A2∶A8单元格区域中各个日期与当前日期相差的月数,返回的是一个数组。
② 依次判断步骤①中数组中各个值是否小于12,如果是,返回TRUE,如果不是,返回FALSE。返回的是一个数组。
③ 将②步数组中是TRUE的对应在B2∶B8单元格区域上的值取出,并进行求和运算。
函数15:DAYS360函数(按照一年360天的算法计算两日期间相差的天数)
函数功能
DAYS360函数按照一年360天的算法(每个月以30天计,一年共计12个月),返回两日期间相差的天数,这在一些会计计算中将会用到。
函数语法
DAYS360(start_date,end_date,[method])
参数解释
- start_date:表示计算期间天数的起始日期。
- end_date:表示计算的终止日期。如果start_date在end_date之后,则DAYS360将返回一个负数。应使用DATE函数来输入日期,或者将日期作为其他公式或函数的结果输入。
- method:可选。一个逻辑值,它指定在计算中是采用欧洲方法还是美国方法。
提示
与DATEDIF函数的区别在于:DAYS360无论当月是31天还是28天全部都以30天计算,DATEDIF函数是以实际天数计算的。另外,计算两个日期之间相差的天数,要“算尾不算头”,即起始日当天不算作1天,终止日当天要算作1天。
实例解析
实例198 计算还款剩余天数
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P226_127733.jpg?sign=1739358670-EwrFHTqzLe1zsRJWg3885czENMCoIg7T-0-81399521254b34c36dd6855503be261c)
表格中的C列为借款金额的应还日期,D列为账期,本例要求计算出各项借款的还款剩余天数(如果返回的结果为负数则表示已经到期)。
选中E2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P227_167384.jpg?sign=1739358670-AWmGSFRd1JAyJHzxhb9kFD37ZCB9WbRz-0-84e85b00277d2f7d9c6399989dc60ab4)
按Enter键即可返回第一项借款的还款剩余天数。
将鼠标指针指向E2单元格的右下角,光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可得到其他借款的还款剩余天数,如图5-36所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P227_125599.jpg?sign=1739358670-eRbhr0diMtcHT6LUfjOQwP19EMCio365-0-7b9b0c9683dd22829454c87035369cba)
图5-36
公式解析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P227_167388.jpg?sign=1739358670-CjMO3U6GB449cRXQiPo1Z4Z3olGPrnBl-0-2adc2514d31ca1307abc097fad4c0ce1)
① 二者相加为借款的到期日期。
② 按照一年360天的算法计算当前日期与①步返回结果间的差值。
函数16:EDATE函数(计算间隔指定月份数后的日期)
函数功能
EDATE函数用于返回表示某个日期的序列号,该日期与指定日期(start_date)相隔(之前或之后)指示的月份数。
函数语法
EDATE(start_date, months)
参数解释
- start_date:表示一个代表开始日期的日期。应使用DATE函数输入日期,或者将日期作为其他公式或函数的结果输入。
- months:表示start_date之前或之后的月份数。months为正值将生成未来日期,为负值将生成过去日期。
用法剖析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P228_167391.jpg?sign=1739358670-sJMKa2rEConnSonaEJufbKUqEYZHdnFj-0-3cffe606b4907c5fa83973ad3233d54e)
实例解析
实例199 计算食品的过期日期
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P228_127841.jpg?sign=1739358670-jZhcLV8UR3T8TAxwIbJItRdVphro7hgx-0-1d76f940e858dfb3eea1ee8894d2218f)
本例将根据食品的生产日期和保质期,计算出食品过期的日期。
选中D2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P228_167394.jpg?sign=1739358670-sXTq2gswHSgx8DiWBnHXMo4imTrfSGOF-0-ff8552da9b68d77df6b8935e9c47ae50)
按Enter键即可根据产品的生产日期和保质期计算出过期日期(这里的日期格式为默认的常规格式),将鼠标指针指向D2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,如图5-37所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P228_127833.jpg?sign=1739358670-6bhaRAxwAo5pSSY4Ji6onNCdLUlDXQSU-0-f682e792f3bf666c9449d6d2a73136e7)
图5-37
保持过期日期列的选中状态,选择“开始”选项卡的“数字”组中设置数据格式为“日期”格式,即可正确显示出食品的过期日期,如图5-38所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P228_127834.jpg?sign=1739358670-7dPxdAawm3nfnqwTSFqSRIgFFv6swiU8-0-4f63f75de14247cf0c10115f8e7b42da)
图5-38
公式解析
=EDATE(B2,C2)
将B2单元格中的生产日期设置为开始日期,C2单元格时间为之后指示的月份数,最终返回结果为B2单元格日期间隔C2中指定月份后的日期。
提示
由于EDATE函数返回的是日期序列号,因此需要把公式所在单元格区域的数字格式修改为“日期”格式才能够正确显示。
实例200 提示合同是否到期
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P229_125701.jpg?sign=1739358670-DlAZsIJ5EpRsicc3UzfaMjIWuUTrCr40-0-3396c017dc89910b92549887fbe79b9f)
公司员工的合同签约时间各不相同,利用EDATE函数配合其他相关函数可以判断其合同是否过期。
选中D2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P229_167403.jpg?sign=1739358670-cYCvRQiX4yJi4mtw4UjvYogbpgDkZtC3-0-60e84c9f798bedbb5b20d5a753dc9e01)
按Enter键即可判断出第一位员工的合同是否到期。
将鼠标指针指向D2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可返回其他员工的合同的状态,如图5-39所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P229_125700.jpg?sign=1739358670-0sRX65f9a7c6bElSPLpCECVRpwpYra5p-0-fd347e2931b50c6744b6f64c2a5b3b44)
图5-39
公式解析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P229_167400.jpg?sign=1739358670-vXLE8sMxJVS9HmzXhunEq0k47FdkMxby-0-ce875a27c89fb6967bad252ba2e6bfc4)
① 首先使用EDATE函数计算出合同到期日,“C2*12”表示将C2单元格中的年份数转换为月份数。
② 判断①步结果与当前日期的差值是否小于0。
③ 如果②步为真返回“合同过期”文字。
实例201 根据出生日期与性别计算退休日期
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P229_125710.jpg?sign=1739358670-bLgnjgethyj7RXqVVY8Cq2MEfDCVJwDd-0-3d1a96d09ae8dbac0e3ef762e93adbf5)
企业有接近于退休年龄的员工,人力资源部门建立表格予以统计,可以根据出生日期与性别计算退休日期。假设男性退休年龄为55岁;女性退休年龄为50岁,可按如下方法建立公式。
选中E2单元格,在公式编辑栏中输入公式(见图5-40):
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P230_167413.jpg?sign=1739358670-x6m50L0Oi1fRqvotan8I3S2EQyk2y84u-0-36dd6637b8374343a3272c3d7bfb75b4)
按Enter键返回是日期序列号。将鼠标指针指向E2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,如图5-40所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P230_127917.jpg?sign=1739358670-X9BILIWLUhLHtfV10bSqn5HqsVaW7knQ-0-9db8a6cd65ed6f7edd35b620b60f205e)
图5-40
保持退休日期列的选中状态,选择“开始”选项卡的“数字”组中设置数据格式为“日期”格式,即可正确显示各位员工的退休日期,如图5-41所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P230_127918.jpg?sign=1739358670-L8K1kOx21wcgnShD7hvfzzUGMccQcB6E-0-e6f71466b5f77c58300c50ea8434f8b7)
图5-41
公式解析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P230_167416.jpg?sign=1739358670-heBnTSBFbaPKtduT3Kk9kRjPMe5fpmwG-0-96e41edb956f9d2f6fd9774829dcf2c4)
① 表示如果C2单元格显示为男性“C2="男"”返回TRUE,然后退休年龄为“TRUE*5+50”(“TRUE*5”等于5),如果C2单元格显示为女性,“C2="女"”返回FALSE,然后退休年龄为“FALSE*5+50”(“FALSE *5”等于0),前面乘以12的处理是将前面的返回的年龄转换为月份数。
② 使用EDATE函数返回日期,此日期是D2中出生日期之后n个月(①步返回指定)的日期。
函数17:WORKDAY函数(获取间隔若干工作日后的日期)
函数功能
WORKDAY函数表示返回在某日期(起始日期)之前或之后、与该日期相隔指定工作日的某一日期的日期值。工作日不包括周末和专门指定的假日。
函数语法
WORKDAY(start_date, days, [holidays])
参数解释
- start_date:表示一个代表开始日期的日期。
- days:表示start_date之前或之后不含周末及节假日的天数。days为正值将生成未来日期,为负值将生成过去日期。
- holidays:可选。一个可选列表,其中包含需要从工作日历中排除的一个或多个日期。
用法剖析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P231_167418.jpg?sign=1739358670-rRXnWj9GCpE3tipGxMetbkR1Hsb7XOZr-0-f6cc30fbdfeca710879413a7a6a774cc)
实例解析
实例202 根据休假天数自动显示出休假结束日期
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P231_125821.jpg?sign=1739358670-gxxl5ury8VbVRnEepSe84gfVKQTurQFS-0-e1ecfb4af40b21e555d94e9b04702151)
根据休假开始日期和休假天数可以计算出员工的休假结束日期。
选中D2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P231_167423.jpg?sign=1739358670-iPlJfiOFVPvySuTWTieTz7xWHcay3oDr-0-f5466e51236c6c28f543a9183fb65e12)
按Enter键即可返回第一位员工的休假结束日期。
将鼠标指针指向D2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可返回其他员工的休假结束日期,如图5-42所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P232_128003.jpg?sign=1739358670-2Jts68Tn7bQgDlITCgLpqEzIqnREonD9-0-62a49f232dad803c4b558e779b5e3ec6)
图5-42
公式解析
=WORKDAY(B2,C2,$F$2∶$F$4)
将B2单元格中的日期值设置为开始日期,间隔C2单元格中指定的天数后的日期。间隔日期中不包含周末以及指定的节假日(本例在F2∶F4单元格区域中指定,因为公式要向下复制使用,所以使用绝对引用)。
函数18:WORKDAY.INTL函数
函数功能
WORKDAY.INTL函数用于返回指定的若干个工作日之前或之后的日期的序列号(使用自定义周末参数)。周末参数指明周末有几天以及是哪几天。工作日不包括周末和专门指定的假日。
函数语法
WORKDAY.INTL(start_date, days, [weekend], [holidays])
参数解释
- start_date:表示开始日期(将被截尾取整)。
- days:表示start_date之前或之后的工作日的天数。正值表示未来日期;负值表示过去日期;零值表示开始日期。day_offset将被截尾取整。l weekend:可选。指示一周中属于周末的日子和不作为工作日的日子。weekend是一个用于指定周末日的数字或字符串。
- holidays:可选。一组可选的日期,表示要从工作日日历中排除的一个或多个日期。holidays应是一个包含相关日期的单元格区域,或者是一个由表示这些日期的序列值构成的数组常量。holidays中的日期或序列值的顺序可以是任意的。
用法剖析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P233_167427.jpg?sign=1739358670-PdnEzQ9Vfp0u7qSChYH7CLyQBEscSIbP-0-9232e4dadf567ef4b836e95704b4d3a6)
表5-2说明了WORKDAY.INTL函数的weekend参数与返回值。
表5-2
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-T233_167429.jpg?sign=1739358670-D9uWUNpKJMwLbrKfVnxyuY8wpGSyjEfq-0-a3285885eccb11152ce2ee513001ec47)
实例解析
实例203 根据休假天数自动显示出休假结束日期
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P233_125981.jpg?sign=1739358670-mBy9SceIyQSi04QavlCxgfvt9TVkmTUW-0-2df382153d957604c023361e5917ceca)
仍然沿用WORKDAY函数中的例子,要根据休假开始日期和休假天数可以计算出员工的休假结束日期,但要求是只有周日作为法定假日,且中间有五一假期排除在外,这时可以使用WORKDAY.INTL函数来建立公式。
选中D2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P233_167432.jpg?sign=1739358670-xJBWETWshH6OLIqm4tu1Ub0HtG1197QD-0-ee426f8da8f8020f18dcd17488623936)
按Enter键即可返回第一位员工的休假结束日期。
将鼠标指针指向D2单元格的右下角,光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可返回其他员工的休假结束日期(可将结果与WORKDAY函数中的例子相比较),如图5-43所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P234_128103.jpg?sign=1739358670-JlDjSWp6kS24QIAyWKm6ToMQqoZSz7NE-0-3568b50d7e194a7b4e44fb4deb3e48dd)
图5-43
公式解析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P234_167436.jpg?sign=1739358670-k28ANqaWMRtfbSHmW8RCACfmh2R4RTMl-0-643845ed8cbf6928bb908ae82ccf66b1)
计算B2单元格中日期间隔C3单元格中指定工作日后的日期。
① 此参数指定只有周日是周末日。
② 此参数为指定的排除计算的节假日,因为公式要向下复制使用,这一部分使用要绝对引用。
函数19:YEARFRAC函数(从开始到结束日所经过的天数占全年天数的比例)
函数功能
YEARFRAC函数表示返回开始日期和终止日期之间的天数占全年天数的百分比。
函数语法
YEARFRAC(start_date, end_date, [basis])
参数解释
- start_date:表示一个代表开始日期的日期。
- end_date:表示一个代表终止日期的日期。
- basis:可选。要使用的计数基准类型。
实例解析
实例204 计算员工请假天数占全年天数的百分比
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P234_128108.jpg?sign=1739358670-id4yxUAC4HcItiJZb4AmOaYvPw1Y3UBR-0-30b644ce186bed58192ca9018194ef6d)
表格显示了员工假期的起始日期和结算日期,需要计算出请假天数占全年工作日的百分比,可以利用YEARFRAC函数直接设置公式。
选中D2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P235_167441.jpg?sign=1739358670-eoHpChd4N4uCQaFyK44aegpIIFWFrgeq-0-3e59d162336c59c4390a945c65c6031a)
按Enter键,返回的是小数值,将鼠标指针指向D2单元格的右下角,光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,如图5-44所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P235_126064.jpg?sign=1739358670-FoQgG0Tl6Rx1GUizIQFLxWyajUACqR1w-0-686d3981dd6c5d536263eb8870811fec)
图5-44
选中返回结果,在“开始”选项卡的“数字”组中,将单元格的格式更改为“百分比”,即可正确显示请假天占全年天数的百分比值,如图5-45所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P235_126065.jpg?sign=1739358670-jIbHQRXFNgdsQT0u0SaZMiIaNVdC6uob-0-3993b963d17241bb7fd61c4d773c8c4d)
图5-45
公式解析
=YEARFRAC(B2,C2,3)
B2和C2单元格中的日期值分别作为开始日期和终止日期,然后用实际天数除以365即可返回其天数占全年天数的百分比值。注意,指定此参数为3表示是一年365天计算。
函数20:NETWORKDAYS函数(计算两个日期间的工作日)
函数功能
NETWORKDAYS函数表示返回开始日期和终止日期之间完整的工作日数值。工作日不包括周末和专门指定的假期。可以使用NETWORKDAYS函数根据某一特定时期内雇员的工作天数,计算其应计的报酬。
函数语法
NETWORKDAYS(start_date, end_date, [holidays])
参数解释
- start_date:表示一个代表开始日期的日期。
- end_date:表示一个代表终止日期的日期。
- holidays:可选。不在工作日历中的一个或多个日期所构成的可选区域。
用法剖析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P236_167445.jpg?sign=1739358670-GqunBdIwFINdPYDj9JTBYmcHiM2s2ram-0-a341684aa176ddd713319be680efb182)
实例解析
实例205 计算临时工的实际工作天数
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P236_128218.jpg?sign=1739358670-HjQS7SKcP4buCJTV7NuLNDqYqFz7JPJZ-0-88885c8eb0265165fbc4dbcaba0fd842)
假设企业在某一段时间使用一批临时工,根据开始使用日期与结束日期可以计算每位人员的实际工作日天数,以方便对他们工资的核算。
选中D2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P236_167448.jpg?sign=1739358670-NCopnJIWzOSQUyjGxSPAxRmI4d1nbmxN-0-78805a907f3be9b781e5f6f12a34aec5)
按Enter键计算出的是开始日期为“2017/12/1”,结日期为“2018/1/10”这期间的工作日数。将鼠标指针指向D2单元格的右下角,光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,可以依次返回各位人员的工作日数,如图5-46所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P236_128211.jpg?sign=1739358670-9r8HEFN5421ibUiUryzOF4OpOrGnK9j2-0-0e1f477a3516833427e8168f5d6d4fc4)
图5-46
公式解析
=NETWORKDAYS (B2,C2,$F$2)
计算B2和C2单元格中两个日期间的工作日数,F2为指定的法定假日,在公式复制过程中始终不变,所以使用绝对引用。
函数21:NETWORKDAYS.INTL函数
函数功能
NETWORKDAYS.INTL函数表示返回两个日期之间的所有工作日数,使用参数指示哪些天是周末,以及有多少天是周末。工作日不包括周末和专门指定的假日。
函数语法
NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
参数解释
- start_date和end_date:表示要计算其差值的日期。start_date可以早于或晚于end_date,也可以与它相同。
- weekend:表示介于start_date和end_date之间但又不包括在所有工作日数中的周末日。weekend是一个用于指定周末日的周末数字或字符串。
- holidays:可选。表示要从工作日日历中排除的一个或多个日期。holidays应是一个包含相关日期的单元格区域,或者是一个由表示这些日期的序列值构成的数组常量。holidays中的日期或序列值的顺序可以是任意的。
实例206 计算临时工的实际工作天数
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P237_126152.jpg?sign=1739358670-1vQSSR6y15UgtLjm5tEtiyPUwMi303LW-0-674f810c4e394f68a46ab288c7534c68)
沿用上面的例子,要求根据临时工的开始工作日期与结束日期计算工作日数,但此时要求指定每周只有周一一天为周末日,此时可以使用NETWORKDAYS.INTL函数来建立公式。
选中D2单元格,在公式编辑栏中输入公式:
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P237_167454.jpg?sign=1739358670-heoFm1oZFPWAWoYmoKMDXsyoMBsSyTIZ-0-621bf6d98e0bc3edec5e8a28d8676aa4)
按Enter键计算出的是开始日期为“2017/12/1”,结日期为“2018/1/10”这期间的工作日数(这期间只有周一为周末日)。将鼠标指针指向D2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,可以依次返回各位人员的工作日数,如图5-47所示。
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P238_128307.jpg?sign=1739358670-wPRj0HEKnWx7Jb1XdJem7Uh9xwXyTxkL-0-86f07d1d86e885d4851b1c01c1b1b149)
图5-47
公式解析
![](https://epubservercos.yuewen.com/993662/15825993204148106/epubprivate/OEBPS/Images/Figure-P238_167458.jpg?sign=1739358670-rnXJSDkPsUvnnYxaNSg4WapJJQWS7Db3-0-1b6e71f5c50b3fbd41e0493b0d2158d2)
计算B2单元格中日期到C3单元格中日期间的工作日天数。
① 此参数指定只有周一是周末日。
② 此参为指定的排除计算的节假日,因为公式要向下复制使用,这一部分使用要绝对引用。