Excel日期运算有什么技巧

excel

1个回答

写回答

wjj021004

2024-05-21 22:57

+ 关注

Excel
Excel

excel中,通过将两个日期值进行减运算,能够得到这两个日期之间所间隔的具体天数;而将一个日期值与一个表示天数的常数相加减,则能够得到一个距离该日期x天的日期值。如:2000/05/31-2000/05/01得到31,2000/05/01加上90得到2000/07/30。这是excel提供的一个虽然简单却相当实用的日期计算功能。

但是,这一功能在实际工作中的局限性,使其无法满足更高层次的需要,特别是工作日这一概念逐渐在各领域被广泛应用的今天,许多工作都需要进行与之相关的计算。最常见的例如员工的出勤天数、交货期的计算、付款日的计算等等。excel为用户的这些需求提供了怎样的解决方案呢?

使用networkdays()函数

networkdays(start_date,end_date,holidays)函数是专门用于计算两个日期值之间完整的工作日数值。这个工作日数值将不包括双休日和专门指定的其他各种假期。

networkdays()函数带有3个参数:start_date表示进行日期,end_date为终止日期,holidays表示作为特定假日的一个或多个日期。这些参数值既能够手工输入,也能够对单元格的值进行引用。下面以计算本年5月份共有多少个工作日为例,具体介绍networkdays()函数的用法:

在b1中输入起始日期2000/05/01,在b3中输入终止日期2000/05/31,在e2、e3中输入法定假日2000/05/01和2000/05/02。通过公式=networkdays(b2,b4,e2:e3)咱们就能够方便地计算出5月份的工作日数了。当然,咱们也能够直接输入公式=networkdays(2000-5-1,2000-6-1,{2000-5-1,2000-5-2})来得到这个结果。

使用workday()函数

workday(start_date,days,holidays)函数是用来计算某日期(起始日期)之前或之后相隔指定工作日的某一日期的日期值。它也带有3个参数:start_date表示进行日期,days为start_date之前或之后不含周末及节假日的天数。days为正值将产生未来日期;为负值产生过去日期,holidays表示作为特定假日的一个或多个日期。

假设咱们在4月30日与客户签订了一份购销合同合同规定90个工作日之后交货。所以,咱们应当怎样计算到底哪一天交货呢?

在b1中输入起始日期2000/05/01,在b3中输入合同规定时间90,在e2、e3中输入法定假日2000/05/01和2000/05/02。通过公式=workday(b2,b4,e2:e3),咱们能够清楚的理解交货日期是2000/09/05。同上,咱们还能够直接输入公式=workday(2000-5-1,90,{2000-5-1,2000-5-2})来进行计算。

加载扩展函数

已经迫不及待地打开excel进行尝试的朋友可能要嚷了,你说的这两个函数我这儿怎么没有啊?别急,点击工具菜单中的加载宏,找到分析工具库,给它一个小勾,再确定,ok!原来,这两个函数是嵌于分析工具库这个加载宏中的excel扩展函数,而excel在默认状态下是不加载这个加载宏的。

另外一个值得注意的问题是:将表示日期的单元格的数字格式设置成日期型,而表示天数的单元格则千万不要设置成日期型,否则你可能会看到1900/02/21或36774这样奇怪的结果出现哟!

举报有用(17分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号