OFFICE学习资料 | OFFICE资源下载 | OFFICE知识问答      
设为首页
加入收藏
联系站长
  当前位置:Office学院 >> Excel >> Excel函数与公式 >> 正文
Excel中工作日的相关计算
[2006年10月26日]  点击数: 【字体: 】【双击滚屏
 
   在Excel中,通过将两个日期值进行减运算,可以得到这两个日期之间所间隔的具体天数;而将一个日期值与一个表示天数的常数相加减,则可以得到一个距离该日期X天的日期值。如:“2000/05/31”-“2000/05/01”得到31,“2000/05/01”加上90得到“2000/07/30”。这是Excel提供的一个虽然简单却相当实用的日期计算功能。
    然而,这一功能在实际工作中的局限性,使其无法满足更高层次的需要,特别是“工作日”这一概念逐渐在各领域被广泛应用的今天,许多工作都需要进行与之相关的计算。最常见的比如员工的出勤天数、交货期的计算、付款日的计算等等。Excel为用户的这些需求提供了怎样的解决方案呢?
    一、networkdays(Start_date,End_date,Holidays)函数
    networkdays()函数是专门用于计算两个日期值之间完整的工作日数值。这个工作日数值将不包括双休日和专门指定的其他各种假期。
    networkdays()函数带有三个参数: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(Start_date,Days,Holidays)函数
    workday()函数是用来计算某日期(起始日期)之前或之后相隔指定工作日的某一日期的日期值。它也带有三个参数:Start_date表示开始日期,Days为 Start_date 之前或之后不含周末及节假日的天数。Days 为正值将产生未来日期;为负值产生过去日期,Holidays表示作为特定假日的一个或多个日期。
    假设我们在5月1日与客户签订了一份购销合同,合同规定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”这样奇怪的结果出现哟!
    以上介绍的是这两个函数的基本用法,大家尽可以结合自己工作的实际情况,举一反三,更高效地完成计算任务。

        点击此处以下载本文所述内容的相关模板文件 13K”-“2000/05/01”得到31,“2000/05/01”加上90得到“2000/07/30”。这是Excel提供的一个虽然简单却相当实用的日期计算功能。
    然而,这一功能在实际工作中的局限性,使其无法满足更高层次的需要,特别是“工作日”这一概念逐渐在各领域被广泛应用的今天,许多工作都需要进行与之相关的计算。最常见的比如员工的出勤天数、交货期的计算、付款日的计算等等。Excel为用户的这些需求提供了怎样的解决方案呢?
    一、networkdays(Start_date,End_date,Holidays)函数
    networkdays()函数是专门用于计算两个日期值之间完整的工作日数值。这个工作日数值将不包括双休日和专门指定的其他各种假期。
    networkdays()函数带有三个参数: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(Start_date,Days,Holidays)函数
    workday()函数是用来计算某日期(起始日期)之前或之后相隔指定工作日的某一日期的日期值。它也带有三个参数:Start_date表示开始日期,Days为 Start_date 之前或之后不含周末及节假日的天数。Days 为正值将产生未来日期;为负值产生过去日期,Holidays表示作为特定假日的一个或多个日期。
    假设我们在5月1日与客户签订了一份购销合同,合同规定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”这样奇怪的结果出现哟!
    以上介绍的是这两个函数的基本用法,大家尽可以结合自己工作的实际情况,举一反三,更高效地完成计算任务。


我要提问
上一篇:如何去除公式错误 #N/A 的提示
下一篇:用Excel函数自动排名次
最新文章
Excel中一些常见公式的错误提示12/06
Excel如何计算表达式10/27
Excel 2000如何避免错误信息10/27
Excel 2000自定义函数10/27
Excel 2000条件显示10/27
Excel函数应用教程:函数与公式的概念10/27
Excel函数应用教程:函数的参数10/27
Excel函数应用教程:函数的输入方法10/27
热门文章
相关文章
Excel中三表“嵌套”成一表
用EXCEL轻松的准备考前工作
共享EXCEL工作簿实现协同录入
Excel中用VBA宏自动统计成绩
Excel计算住房贷款和个人储蓄
用Excel实现出勤情况的统计和汇总
在Excel中快速输入数据
在Word中嵌入已有的Excel工作表的
office知识问答 | office资源下载
备案许可证号: 津ICP备06003561号
版权所有:Office学院 www.officeXY.com
OFFICE学院致力于成就华人社区最受欢迎的office办公软件学习园地;为大家提供word、excel、access、FrontPage、PowerPoint等Office各个系列产品的最全的教程、用法、技巧、方案;并竭力打造最方便的问题解答系统