99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀用excel制作考勤表
用excel制作考勤表
2016-07-18
收藏

用excel制作考勤表

平常單位的一些進(jìn)貨單出庫(kù)單類的表格都是用excel制作的,今天單位沒(méi)有考勤表了,于是我就用excel制作考勤表,這樣就不用出去買(mǎi)了,而且單位人也少,我就可以以后利用電子考勤表來(lái)自動(dòng)計(jì)算每個(gè)人的考勤了。

1、打開(kāi)一張空白的EXCEL工作表,先按下圖所示畫(huà)出樣子。
圖中M1:P1是合并單元格,用于填寫(xiě)“年”,S1:T1是合并單元格,用于填寫(xiě)“月”,為了醒目設(shè)置成淺藍(lán)色底紋。


2、為了讓第二行中的“星期”能自動(dòng)顯示,需要設(shè)置公式,如下:
在D2單元格中輸入公式 =IF(WEEKDAY(DATE($M$1,$S$1,D3),2)=7,"日",WEEKDAY(DATE($M$1,$S$1,D3),2))
這時(shí)就能看到D2單元格中出現(xiàn)一個(gè)表示星期的“日”字(這說(shuō)明2011年5月1號(hào)是星期日)。
公式含義:先用DATE函數(shù)把M1格中的“年”、S1格中的“月”、D3格中的“日”組成一個(gè)電腦能識(shí)別的“日期”;再用WEEKDAY函數(shù)把這個(gè)“日期”變成星期所代表的數(shù)字。
WEEKDAY函數(shù)后面加了參數(shù)“2”,是為了讓星期一顯示為“1”,讓星期二顯示為“2”...讓星期日顯示為“7”。
由于我們不習(xí)慣把星期日叫成“星期7”,所以最后用IF函數(shù)做判斷,把顯示為“7”的自動(dòng)改成“日”。
提示:函數(shù)DATE與WEEKDAY在EXCEL自帶的幫助中有詳細(xì)的用法介紹,想了解它們的朋友可以參考。
為了方便我們中國(guó)人的習(xí)慣,還要把顯示為阿拉伯小寫(xiě)數(shù)字的星期變成中文數(shù)字,即“星期1”變成“星期一”這種格式。這就需要通過(guò)定義單元格格式來(lái)實(shí)現(xiàn)。
選中D2單元格,按鼠標(biāo)右鍵“單元格格式”,在出現(xiàn)的格式窗口中選“數(shù)字”選項(xiàng)卡,在左側(cè)的“分類”框中選“特殊”,在右側(cè)的“類型”框中選“中文小寫(xiě)數(shù)字”,按“確定”退出。


這些完成后就可以用鼠標(biāo)選中D2單元格,按住它右下角的“填充柄”拖動(dòng)復(fù)制AH2單元格,效果如下圖:


在AI單元格中可以通過(guò)公式顯示當(dāng)月的總天數(shù),公式 =DAY(DATE(M1,S1+1,1)-1)
公式含義:先由DATE函數(shù)“DATE(M1,S1+1,1)”得到本月的下一個(gè)月月初1號(hào)的日期。本例中,本月是5月份,下一月的月初一號(hào)就是6月1日。
再用減1得到本月最后一天的日期,即5月31日,最后再由DAY函數(shù)取出表示當(dāng)月天數(shù)的“31”。
3、先設(shè)定一些考勤符號(hào),放在AR列中,如圖所示:


這些符號(hào)并非統(tǒng)一規(guī)定,可根據(jù)習(xí)慣及喜好來(lái)自己設(shè)定,也可用漢字來(lái)代表,總之自己看著習(xí)慣就行了。
怎么把這些符號(hào)方便快捷的輸入到考勤表中D4:AH33區(qū)域中呢?我們采用下拉框的方法。
選中D4:AH33區(qū)域,按上面工具欄中的“數(shù)據(jù)-有效性”,彈出有效性設(shè)置對(duì)話框,選“設(shè)置”選項(xiàng)卡,在“允許”中選“序列”,在“來(lái)源”中點(diǎn)擊右端的折疊按鈕,然后用鼠標(biāo)在表格中選取AR1:AR8區(qū)域,再次點(diǎn)擊折疊按鈕,回到有效性設(shè)置窗口,按“確定”退出。


完成后,在考勤表的D4:AH33區(qū)域中任意一個(gè)單元格選中時(shí),都會(huì)出現(xiàn)一個(gè)下拉框按鈕,點(diǎn)擊按鈕就彈出下拉框,可用鼠標(biāo)方便的選取要輸入的考勤符號(hào)。


4、考勤已經(jīng)可以輸入了,怎樣統(tǒng)計(jì)每個(gè)人的出勤情況呢?還是通過(guò)公式自動(dòng)來(lái)統(tǒng)計(jì)。
先劃出一塊區(qū)域來(lái)做考勤統(tǒng)計(jì),如下圖紅圈范圍:


這個(gè)區(qū)域中要設(shè)置多個(gè)合并單元格,AK4:AK5是合并的,AL4:AL5是合并的......AP4:AP5是合并的。也就是每一個(gè)姓名對(duì)應(yīng)的上下兩行需要合并,這樣方便把上午與下午統(tǒng)計(jì)在一個(gè)格中。
做完AL4:AP5區(qū)域的合并操作后,選中區(qū)域右下角填充柄,按住鼠標(biāo)左鍵向下拉動(dòng),一直到AP33單元格再松開(kāi)鼠標(biāo)左鍵,就能快速的把下面單元格分別也變成合并狀態(tài)。(其實(shí)就是復(fù)制了AL4:AP5的樣式)
由于第一個(gè)人的考勤記錄區(qū)域是D4:AH5區(qū)域,所以需要將此區(qū)域中的考勤符號(hào)出現(xiàn)次數(shù)統(tǒng)計(jì)出來(lái),就能知道這個(gè)人的考勤情況了。
先在AK3:AP3中輸入考勤符號(hào),然后在AK4單元格中輸入公式 =COUNTIF($D4:$AH5,AK$3)
公式含義:使用COUNTIF函數(shù)統(tǒng)計(jì)D4:AH5區(qū)域內(nèi)出現(xiàn)了幾次AK3格中的符號(hào)。
用拖動(dòng)復(fù)制功能把這個(gè)公式復(fù)制到AK4:AP4區(qū)域中。
再選中AK4:AP4區(qū)域,按住AP4右下角的填充柄向下拖動(dòng)復(fù)制,一直復(fù)制到AP33單元格。
現(xiàn)在統(tǒng)計(jì)區(qū)域中的每個(gè)格都有公式了,由于公式中某些部份使用了絕對(duì)引用符號(hào)“$”,所以在拖動(dòng)復(fù)制中,每個(gè)單元格的公式都是不太一樣的。
提示:在這個(gè)考勤表中,多次使用了“拖動(dòng)復(fù)制”方法,可以極大的簡(jiǎn)化輸入公式與設(shè)置格式的操作,而且在公式中靈活使用絕對(duì)引用符號(hào)“$”,也能把有規(guī)律變化的公式快速輸入到區(qū)域中,避免了逐個(gè)輸入的麻煩。
現(xiàn)在我們看一下有統(tǒng)計(jì)公式的效果


在統(tǒng)計(jì)結(jié)果中,會(huì)有許多0值出現(xiàn),表示對(duì)應(yīng)的考勤符號(hào)未在考勤區(qū)域中出現(xiàn),0值太多時(shí)會(huì)感覺(jué)很“亂”,我們通過(guò)設(shè)置來(lái)“隱藏”這些0值。
按工具欄中的“工具-選項(xiàng)”,出現(xiàn)選項(xiàng)窗口,按下圖設(shè)置,去掉“零值”前的勾,就可使這些0值不顯示出來(lái)。


5、到這里,考勤表基本上就完成了。細(xì)心的朋友會(huì)發(fā)現(xiàn)一個(gè)小問(wèn)題,就是AF3、AG3、AH3這三個(gè)格中始終出現(xiàn)29、30、31這三個(gè)日期,即使在2月份只有28天的情況下也是如此,感到非常不爽。
我們可以用條件格式的方法來(lái)讓它們自動(dòng)根據(jù)月份的變化來(lái)顯示或隱藏,即小月時(shí)AH3格變成空白,大月時(shí)才顯示31,在二月份時(shí)如果不是閏月,就不顯示AF3、AG3、AH3格中的數(shù)字。
選中AF3:AH3區(qū)域,按“格式-條件格式”,按下圖設(shè)置:


用這種條件格式的方法還能設(shè)置D2:AH2區(qū)域,讓它們?cè)谛瞧诹c星期日時(shí)變成不同顏色,能更直觀的顯示每周情況,設(shè)置方法大家可以自己琢磨一下。

上面用excel制作考勤表的步驟基本上屬于通用類型的,適合很多公司使用,大家也可以根據(jù)自己的情況個(gè)性設(shè)置。


D3

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }