excel拆分實(shí)例:如何快速制作考勤統(tǒng)計(jì)分析表

編按:面對(duì)新的統(tǒng)計(jì)需求,很多人會(huì)一下變懵,不知如何辦。如果涉及的統(tǒng)計(jì)有一千多行數(shù)據(jù),哭的心思都有了:什么時(shí)候才能下班喲!今天老菜鳥通過考勤統(tǒng)計(jì)分析表實(shí)例分享自己面對(duì)新統(tǒng)計(jì)需求的解決方法:簡(jiǎn)化數(shù)據(jù)、找數(shù)據(jù)規(guī)律、做輔助列。任何復(fù)雜的統(tǒng)計(jì),只要采取這樣的方法,大多幾分鐘就會(huì)搞定。

考勤管理,是企業(yè)勞動(dòng)紀(jì)律管理的最基本工作,公司領(lǐng)導(dǎo)要求人力資源每周按部門匯總一份考勤打卡情況通報(bào),格式如下:

通報(bào)表可以更為宏觀的看到考勤紀(jì)律的執(zhí)行情況,是非常好的一個(gè)管理工具,但是負(fù)責(zé)制作報(bào)表的伙伴卻是異常煩惱。不為別的,就是不知道該如何下手,無奈之下,找到老菜鳥求助。
我們先來看看從考勤軟件導(dǎo)出的數(shù)據(jù)源吧:

整個(gè)表有二十多列,一千多行,如果僅靠手工統(tǒng)計(jì),難度確實(shí)不小。如果是你接到這個(gè)任務(wù)時(shí),會(huì)如何著手開始統(tǒng)計(jì)呢?
其實(shí)問題并沒有看上去那么復(fù)雜,關(guān)鍵是找到思路。思路決定出路,最終完成這個(gè)統(tǒng)計(jì)表并沒有用什么高大上的函數(shù),也不是像有些伙伴猜的那樣,用VBA去解決,只是用了幾個(gè)常用的函數(shù)IF、COUNTIF、SUM和SUMIF就搞定了。是不是很想知道方法呢?
拿到數(shù)據(jù),切忌盲目動(dòng)手,而是首先整理數(shù)據(jù)。就當(dāng)前通報(bào)表來說,數(shù)據(jù)源中對(duì)我們有用處的列并不多,只需要保留部門、工號(hào)、上下班的打卡結(jié)果這四列即可:

看上去清爽了很多吧?刪去了無用數(shù)據(jù)之后,就需要分析具體的統(tǒng)計(jì)思路,同時(shí)在數(shù)據(jù)源中尋找可以利用的規(guī)律。很容易看到,每個(gè)工號(hào)對(duì)應(yīng)的打卡結(jié)果都是6行2列(12個(gè)單元格)的一個(gè)數(shù)據(jù)區(qū)域:

我們需要根據(jù)這12個(gè)單元格中的信息進(jìn)行分類統(tǒng)計(jì),按照要求分為正常和異常兩類。其中異常包括了:缺卡、請(qǐng)假、遲到和早退四種情況,只要沒有異常即可視為正常。
根據(jù)統(tǒng)計(jì)要求添加輔助列。輔助列的作用就是簡(jiǎn)化問題的難度系數(shù),在這個(gè)問題中我們可以這樣設(shè)置:

在繼續(xù)往下前,需要理清楚這里統(tǒng)計(jì)的6個(gè)數(shù)據(jù)的關(guān)系。通報(bào)表是按人數(shù)而非次數(shù)統(tǒng)計(jì)的,因此可以得出這些結(jié)論:
◎同一工號(hào)一周內(nèi)不管缺卡多少次,都算缺卡1人;
◎同一工號(hào)一周內(nèi)不管請(qǐng)假多少次,都算請(qǐng)假1人;
◎遲到、早退規(guī)則同上;
◎同一工號(hào),一周內(nèi)不管缺卡+請(qǐng)假+遲到+早退有多少人,只要大于0,都算異常1人;
◎同一工號(hào),一周內(nèi)正常人數(shù)等于1-異常。
很多時(shí)候我們是不建議使用合并單元格的,因?yàn)楹喜卧駮?huì)帶來很多不方便。但是這個(gè)例子中,每6行數(shù)據(jù)(一個(gè)工號(hào)的數(shù)據(jù))統(tǒng)計(jì)出一行結(jié)果,所以使用合并單元格會(huì)更方便。分別把E2:E7、F2:F7、G2:G7、H2:H7、I2:I7、J2:J7合并,然后在G2中輸入公式:
=IF(COUNTIF($C2:$D7,G$1)>0,1,0)
右拉填充公式,4項(xiàng)異常都進(jìn)行了統(tǒng)計(jì)。

從結(jié)果來看,這四項(xiàng)異常數(shù)據(jù)的統(tǒng)計(jì)結(jié)果是正確的。
這個(gè)公式的核心是COUNTIF,當(dāng)區(qū)域中符合條件的個(gè)數(shù)大于0時(shí),得到1,否則得到0。注意區(qū)域和條件的寫法,$C2:$D7鎖定了列,G$1鎖定了行,這樣公式在右拉和下拉的時(shí)候就不用再去修改了。
異常的統(tǒng)計(jì),只要后面四項(xiàng)之和大于0就算異常1人,公式為:=IF(SUM(G2:J7)>0,1,0)。這個(gè)公式很簡(jiǎn)單了,相信大家都能明白。

到這一步,正常的統(tǒng)計(jì)更沒什么難度:

選中統(tǒng)計(jì)好的6個(gè)單元格,雙擊J2單元格的右下角,公式會(huì)自動(dòng)向下填充至數(shù)據(jù)的最后一行,可以瀏覽一下結(jié)果:

咦!早退和遲到的統(tǒng)計(jì)結(jié)果出現(xiàn)了錯(cuò)誤,怎么解決?
有些朋友可能想到了用通配符,沒錯(cuò),就是通配符,不過不用修改公式,只需要將表頭修改一下就好了:

看明白了吧,在表頭“遲到”和“早退”的兩邊都加上*,統(tǒng)計(jì)結(jié)果就正確了。
數(shù)據(jù)源經(jīng)過以上處理以后,要做出最終的統(tǒng)計(jì)表,已經(jīng)完全不是問題了:

在職人數(shù)公式:=COUNTIF(數(shù)據(jù)源!A:A,匯總!B4)/6。至于為什么要除以6,不難理解。
正常打卡人數(shù):=SUMIF(數(shù)據(jù)源!A:A,B4,數(shù)據(jù)源!E:E),SUMIF最基本的用法哦;
占比:=D4/C4
后面的幾列都是用SUMIF統(tǒng)計(jì)人數(shù),用除法計(jì)算占比。
最后總結(jié)一下:
今天的通報(bào)表乍一看很棘手,平時(shí)工作可能也會(huì)遇到類似的情況。解決的辦法就是:首先排除無用的數(shù)據(jù),然后是尋找數(shù)據(jù)規(guī)律,根據(jù)統(tǒng)計(jì)需要使用輔助列,最后通過一些基本的操作,例如累計(jì)、排序、合并,還有填充等,完成任務(wù)。
今天的分享重在體會(huì)問題的解決過程,涉及到的公式都非常簡(jiǎn)單,相信大家在動(dòng)手練習(xí)的過程中一定會(huì)有很多收獲的。
****部落窩教育-excel表格拆分技巧****
原創(chuàng):老菜鳥/部落窩教育(未經(jīng)同意,請(qǐng)勿轉(zhuǎn)載)
更多教程:部落窩教育(www.itblw.com)
微信公眾號(hào):exceljiaocheng