当前位置: 首页 > 图文教程 > 工具软件 > 办公软件 > Excel电子表格日期运算的高级技巧

办公软件
让表头自动填写当前月份和日期
紧急自救 Excel 受损文件急救六招
教你让Excel中人名显示更美观的技巧
随时都要玩 让纸牌游戏进驻Excel里
教你让Office Excel中人名显示更美观的技巧
妙用Excel把有规律的文本数据分列
复制Excel自定义菜单栏 换台电脑照样用
事半功倍 批量删除Excel空行
Excel工作表的复制与移动技巧
Excel中巧用样式列表快速实现文本换行
Excel高效数据校验的两种方法
Google电子表格Spreadsheets全面试用
用Excel计算个人所得税的四套方案
让你从菜鸟成为玩转Excel的高手
录入数据时让Excel自动插入当前时间
Excel2007中插入页眉和页脚超简单
给Excel表格设置边框的三项常用操作
单元格显神威 Excel操作应用技巧四则
快速找到所需要的Excel函数的小技巧
Excel快速导入文本文件技巧

办公软件 中的 Excel电子表格日期运算的高级技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 125 ::
收藏到网摘: n/a

  在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”这样奇怪的结果出现哟!