Excel計(jì)算全年、每月或一段時(shí)間內(nèi)的工作日天數(shù)(去除節(jié)假日、周末和調(diào)休)
Excel計(jì)算全年、每月或一段時(shí)間內(nèi)的工作日天數(shù)(去除節(jié)假日、周末和調(diào)休)
計(jì)算一段日期內(nèi)的應(yīng)出勤天數(shù)是工作中經(jīng)常遇到的問題, 不僅需要考慮周末, 還要考慮**的法定節(jié)假日和調(diào)休等. 在日常的工作中有以下四種情況: 為了計(jì)算上面的四種情況, 需要用到Excel中的兩個(gè)函數(shù)百科: NETWORKDAYS和NETWORKDAYS.INTL. 接下來首先介紹四種情況的解決方法, **介紹兩個(gè)函數(shù)的詳細(xì)使用方法. 這種情況下, 所有的周六和周日都是休息日, 除周六和周日外的日期都是正常工作日. 這時(shí)可以使用NETWORKDAYS函數(shù)可以解決. NETWORKDAYS的使用方法是: NETWORKDAYS(start_date, end_date, [holidays]) , 函數(shù)包含三個(gè)參數(shù): 計(jì)算示例如下 這種情況下所有的周末和指定的節(jié)假日是休息日, 其余時(shí)間為正常的工作日, 示例如下: C2 單元格的計(jì)算公式為: NETWORKDAYS(A2,B2,$E$2:$E$6) , 其中 A2 和 B2 分別表示開始日期和結(jié)束日期, 第三個(gè)參數(shù) $E$2:$E$6 表示法定節(jié)假日.單休的情況下就不能使用 NETWORKDAYS 函數(shù)了, 需要使用另外一個(gè)函數(shù) NETWORKDAYS.INTL , 該函數(shù)包括四個(gè)參數(shù), 分別是: 根據(jù)NETWORKDAYS.INTL函數(shù)的定義我們可以得到此種情況的解決方案, 需要使用前三個(gè)參數(shù). 示例如圖所示: 其中前兩個(gè)參數(shù) A2 和 B2 分別表示開始和結(jié)束日期, 第三個(gè)參數(shù) \”0000001\” 表示每周周日是休息日, 其他是工作日. 工作日天數(shù)的計(jì)算公式就是: =NETWORKDAYS.INTL(A2,B2,\”0000001\”) 這種情況是最復(fù)雜的情況, 也是最常見的情況. 如果只考慮節(jié)假日, 那么我們只需要使用 NETWORKDAYS 函數(shù)就可以解決. 但是涉及調(diào)休之后不行了. 所以還是需要使用 NETWORKDAYS.INTL 函數(shù), 但是需要換個(gè)思路來解決問題. 按照這個(gè)思路, 函數(shù)的前兩個(gè)參數(shù)仍然是開始日期和結(jié)束日期, 第三個(gè)參數(shù)定義為 \”0000000\” , 第四個(gè)參數(shù)是所有的周末加所有的節(jié)假日, 減去調(diào)休的日期. 那么下圖的例子中, 工作日天數(shù)的計(jì)算公式就是: =NETWORKDAYS.INTL(A2,B2,\”0000000\”,$E$2:$E$116) 該函數(shù)用于計(jì)算從指定的開始日期(包含)到結(jié)束日期(包含)的工作日的天數(shù), 工作日不包括周末和指定的節(jié)假日. 具體的使用方法如下, 詳細(xì)使用方法參見 **文檔 NETWORKDAYS(start_date, end_date, [holidays]) 該函數(shù)有三個(gè)參數(shù), 每個(gè)參數(shù)代表的意義如下: 返回兩個(gè)日期之間的所有工作日數(shù),可以使用參數(shù)指定哪天是周末(這對(duì)于單休的公司非常有用),也可以指定除周末外的其他節(jié)假日。周末和任何指定為假期的日期不被視為工作日。
如何利用excel計(jì)算工作日
利用excel計(jì)算工作日的方法:
工具:office里面的excel2007版本
選打好數(shù)據(jù)
在函數(shù)里面找到networkdays函數(shù)
點(diǎn)擊
就可以計(jì)算出工作日了
如何在Excel中實(shí)現(xiàn)工作日的計(jì)算
在excel中,通過將兩個(gè)日期值進(jìn)行減運(yùn)算,可以得到這兩個(gè)日期之間所間隔的具體天數(shù);而將一個(gè)日期值與一個(gè)表示天數(shù)的常數(shù)相加減,則可以得到一個(gè)距離該日期x天的日期值。如:“2000/05/31”-“2000/05/01”得到31,“2000/05/01”加上90得到“2000/07/30”。
這是excel提供的一個(gè)雖然簡(jiǎn)單卻相當(dāng)實(shí)用的日期計(jì)算功能。
然而,這一功能在實(shí)際工作中的局限性,使其無法滿足更高層次的需要,特別是“工作日”這一概念逐漸在各領(lǐng)域被廣泛應(yīng)用的今天,許多工作都需要進(jìn)行與之相關(guān)的計(jì)算。最常見的比如員工的出勤天數(shù)、交貨期的計(jì)算、付款日的計(jì)算等等。excel為用戶的這些需求提供了怎樣的解決方案呢?使用networkdays( )函數(shù)networkdays(start_date,end_date,holidays)函數(shù)是專門用于計(jì)算兩個(gè)日期值之間完整的工作日數(shù)值。這個(gè)工作日數(shù)值將不包括雙休日和專門指定的其他各種假期。
networkdays( )函數(shù)帶有3個(gè)參數(shù):start_date表示開始日期,end_date為終止日期,holidays表示作為特定假日的一個(gè)或多個(gè)日期。這些參數(shù)值既可以手工輸入,也可以對(duì)單元格的值進(jìn)行引用。下面以計(jì)算本年5月份共有多少個(gè)工作日為例,具體介紹networkdays( )函數(shù)的用法:在b1中輸入起始日期“2000/05/01”,在b3中輸入終止日期“2000/05/31”,在e2、e3中輸入法定假日“2000/05/01”和“2000/05/02”。
通過公式“=networkdays(b2,b4,e2:e3)”我們就可以方便地計(jì)算出5月份的工作日數(shù)了。當(dāng)然,我們也可以直接輸入公式“=networkdays(″2000-5-1″,″2000-6-1″,{″2000-5-1″,″2000-5-2″})”來得到這個(gè)結(jié)果。使用workday( )函數(shù)workday(start_date,days,holidays)函數(shù)是用來計(jì)算某日期(起始日期)之前或之后相隔指定工作日的某一日期的日期值。
它也帶有3個(gè)參數(shù):start_date表示開始日期,days為 start_date 之前或之后不含周末及節(jié)假日的天數(shù)。days 為正值將產(chǎn)生未來日期;為負(fù)值產(chǎn)生過去日期,holidays表示作為特定假日的一個(gè)或多個(gè)日期。假設(shè)我們?cè)?月30日與客戶簽訂了一份購(gòu)銷合同,合同規(guī)定90個(gè)工作日之后交貨。
那么,我們應(yīng)該怎樣計(jì)算到底哪**交貨呢?在b1中輸入起始日期“2000/05/01”,在b3中輸入合同規(guī)定時(shí)間“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″})”來進(jìn)行計(jì)算。加載擴(kuò)展函數(shù)已經(jīng)迫不及待地打開excel進(jìn)行嘗試的朋友可能要嚷了,你說的這兩個(gè)函數(shù)我這兒怎么沒有啊?別急,點(diǎn)擊“工具”菜單中的“加載宏”,找到“分析工具庫(kù)”,給它一個(gè)小勾,再“確定”,ok!原來,這兩個(gè)函數(shù)是嵌于“分析工具庫(kù)”這個(gè)加載宏中的excel擴(kuò)展函數(shù),而excel在默認(rèn)狀態(tài)下是不加載這個(gè)加載宏的。
另外一個(gè)值得注意的問題是:將表示日期的單元格的數(shù)字格式設(shè)置成“日期”型,而表示天數(shù)的單元格則千萬不要設(shè)置成“日期”型,否則你可能會(huì)看到“1900/02/21” 或“36774”這樣奇怪的結(jié)果出現(xiàn)。
excel怎么計(jì)算計(jì)算工作日天數(shù)
1.如圖所示,計(jì)算項(xiàng)目期間的工作日數(shù),去除單位節(jié)假日。=NETWORKDAYS(A3,B3,A6:A9)
2.如圖所示,雙休日為6天
3.如圖所示,單位節(jié)假日為4天,且不包含在雙休日內(nèi)。
酷睿軟件園為你解答。
如何用Excel快速算出當(dāng)月工作天數(shù)
如果有完整的數(shù)據(jù)的話,就可以使用統(tǒng)計(jì)函數(shù),通過函數(shù)一鍵提取數(shù)據(jù),直接算出當(dāng)月工作天數(shù)。如果沒有完整數(shù)據(jù)的話,可以直接編排出一個(gè)EXCEL月歷表,扣掉休息天跟請(qǐng)假,就是實(shí)際出勤天數(shù)了。
以目前11月份的出勤天數(shù)為例,我們公司是有一個(gè)打卡機(jī),每天都會(huì)采集到員工的上班打卡信息,什么時(shí)間去打卡,什么時(shí)候沒有打卡,遲早早退,都是非常清晰的。
只需要導(dǎo)出數(shù)據(jù)之后,就可以進(jìn)行分析。
如上圖表格所示,我們有三個(gè)員工,分別是涼涼、平民、還有巜跑啊,11月截至16日,出勤的天數(shù)如紅色表格下面所示。分別是14天、14天、16天。
實(shí)際上操作非常簡(jiǎn)單:將出勤天數(shù)用1表示,代表當(dāng)天是出勤了的,而沒有上班的則用0表示,如果請(qǐng)假半天的話,可以算0.5……導(dǎo)出出勤數(shù)據(jù)之后,就可以非常直觀地看到,哪天有上班,哪天沒有上班。
而在統(tǒng)計(jì)天數(shù)方面,我使用的是統(tǒng)計(jì)函數(shù),SUM,這個(gè)函數(shù)的作用是返回某一單元格區(qū)域中所有數(shù)值之和。對(duì)于統(tǒng)計(jì)出勤天數(shù),非常有用。操作的時(shí)候,在想要統(tǒng)計(jì)天數(shù)的表格中輸入=sum(),然后用鼠標(biāo)選取我們需要統(tǒng)計(jì)的那個(gè)人的數(shù)據(jù)表格,比如涼涼的出勤天數(shù),直接從11月1日下方的表格,拉到11月30日下方的表格,按ENTER,就可以了。
這樣做的好處是,數(shù)據(jù)是實(shí)時(shí)更新的,我們今天統(tǒng)計(jì)到的是到16日的信息,后面如果有上班,還可以繼續(xù)使用,補(bǔ)充錄入17日、18日及以后每天的出勤數(shù)據(jù),它會(huì)自動(dòng)更新實(shí)際出勤天數(shù)。
當(dāng)然,如果員工信息多的話,實(shí)際上也不難處理,同樣的函數(shù),通過填充下拉,就可以了。
將鼠標(biāo)移動(dòng)到已經(jīng)輸入求和函數(shù)的表格右下角,這個(gè)時(shí)候在鼠標(biāo)邊會(huì)出現(xiàn)加粗的“+”,只要拖動(dòng)那個(gè)+號(hào),就可以填充函數(shù),自動(dòng)跳出相關(guān)的工作天數(shù)數(shù)據(jù),比如上面在巜跑啊的本月出勤天數(shù)表格,拉去函數(shù)填充到下面的杜三李四等人的表格,就會(huì)自動(dòng)算出他們的工作天數(shù)了。
整個(gè)過程,不用三分鐘……就完成了所有人的出勤天數(shù)統(tǒng)計(jì),如果半個(gè)月出勤14天就是全勤的話,那么巜跑啊就是加班了,而涼涼跟平民就是按照正常天數(shù)出勤,沒有加班也沒有遲到早退,這樣是否就一目了然了呢?
當(dāng)然,如果沒有數(shù)據(jù)錄入的話,那就還有數(shù)據(jù)錄入這一步,不過這方面就沒有什么捷徑了。
Excel怎么計(jì)算每個(gè)月工作日?
可以通過weekday()判斷日期是周幾的數(shù)字,再通過計(jì)算事先錄入的節(jié)日,計(jì)算出休息日
B3公式:
=IF(OR(SUMIF($B$10:$B$12,B2,$B$10:$B$12)>0,WEEKDAY(B2,11)=6,WEEKDAY(B2,11)=7),\”是\”,\”\”)