萬盛學電腦網

 萬盛學電腦網 >> Excel教程 >> Excel函數 >> 靈活掌握Excel工作日的計算的函數教程

靈活掌握Excel工作日的計算的函數教程

Excel中,有時候根據工作的需要,我們經常需要對日期進行加減運算,從而得到這兩個日期之間所產生的差數,而將一個日期值與一個表示天數的常數相加減,則能夠得到一個距離該日期x天的日期值。如:“2010/05/31”-“2010/05/01”得到31,“2010/05/01”加上90得到“2010/07/30”。這在excel中是一個非常簡單又實用性很強的日期計算功能。

  可是,完美的東西肯定有一些局限性的,使其無法滿足更高層次的需要,特別是“工作日”這一概念逐漸在各領域被廣泛應用的今天,許多工作都需要進行與之相關的計算。最常見的例如員工的出勤天數、交貨期的計算、付款日的計算等等。excel為用戶的這些需求提供了怎樣的解決方案呢?

  1、使用networkdays()函數
networkdays(start_date,end_date,holidays)函數是用來計算兩個日期值之間完整的工作日數值。這個工作日數值將不包括雙休日和專門指定的其他各種假期。
  networkdays()函數帶有3個參數:start_date表示開始日期,end_date為結束日期,holidays表示作為特定假日的一個或多個日期。這些參數值既能夠手工輸入,也能夠對單元格的值進行引用。下面以計算本年5月份共有多少個工作日為例,具體介紹networkdays()函數的用法:在b1中輸入起始日期“2010/05/01”,在b3中輸入終止日期“2010/05/31”,在e2、e3中輸入法定假日“2010/05/01”和“2010/05/02”。通過公式“=networkdays(b2,b4,e2:e3)”咱們就能夠方便地計算出5月份的工作日數了。當然,咱們也能夠直接輸入公式“=networkdays(″2010-5-1″,″2010-6-1″,{″2010-5-1″,″2010-5-2″})”來得到這個結果。

  2、使用workday()函數
  workday(start_date,days,holidays)函數是用來計算某日期(開始日期)之前或之後相隔指定工作日的某一日期的日期值。它也帶有3個參數:start_date表示開始日期,days為start_date之前或之後不含周末及節假日的天數。days為正值將產生未來日期;為負值產生過去日期,holidays表示作為特定假日的一個或多個日期。
  在b1中輸入起始日期“2010/05/01”,在b3中輸入合同規定時間“90”,在e2、e3中輸入法定假日“2010/05/01”和“2010/05/02”。通過公式“=workday(b2,b4,e2:e3)”,咱們能夠清楚的理解交貨日期是“2010/09/05”。同上,咱們還能夠直接輸入公式“=workday(″2010-5-1″,90,{″2010-5-1″,″2010-5-2″})”來進行計算。

  3、加載擴展函數
  已經迫不及待地打開excel進行嘗試的朋友可能非常想去實踐了,你說的這兩個函數我這兒怎麼沒有啊?別急,點擊“工具”菜單中的“加載宏”,找到“分析工具庫”,給它一個小勾,再“確定”,ok!原來,這兩個函數是嵌於“分析工具庫”這個加載宏中的excel擴展函數,而excel在默認狀態下是不加載這個加載宏的。
  另外一個值得注意的問題是:將表示日期的單元格的數字格式設置成“日期”型,而表示天數的單元格則千萬不要設置成“日期”型,否則你可能會看到“1900/02/21”或“36774”這些數字出現。

  好了,基本上excel上的功能是非常強大的,只需要我們去慢慢挖掘,一定會非常好的。
copyright © 萬盛學電腦網 all rights reserved