編按:面對新的統(tǒng)計需求,很多人會一下變懵,不知如何辦。如果涉及的統(tǒng)計有一千多行數(shù)據(jù),哭的心思都有了:什么時候才能下班喲!今天老菜鳥通過考勤統(tǒng)計分析表實例分享自己面對新統(tǒng)計需求的解決方法:簡化數(shù)據(jù)、找數(shù)據(jù)規(guī)律、做輔助列。任何復(fù)雜的統(tǒng)計,只要采取這樣的方法,大多幾分鐘就會搞定。 考勤管理,是企業(yè)勞動紀(jì)律管理的最基本工作,公司領(lǐng)導(dǎo)要求人力資源每周按部門匯總一份考勤打卡情況通報,格式如下: 通報表可以更為宏觀的看到考勤紀(jì)律的執(zhí)行情況,是非常好的一個管理工具,但是負(fù)責(zé)制作報表的伙伴卻是異常煩惱。不為別的,就是不知道該如何下手,無奈之下,找到老菜鳥求助。 我們先來看看從考勤軟件導(dǎo)出的數(shù)據(jù)源吧: 整個表有二十多列,一千多行,如果僅靠手工統(tǒng)計,難度確實不小。如果是你接到這個任務(wù)時,會如何著手開始統(tǒng)計呢? 其實問題并沒有看上去那么復(fù)雜,關(guān)鍵是找到思路。思路決定出路,最終完成這個統(tǒng)計表并沒有用什么高大上的函數(shù),也不是像有些伙伴猜的那樣,用VBA去解決,只是用了幾個常用的函數(shù)IF、COUNTIF、SUM和SUMIF就搞定了。是不是很想知道方法呢? 拿到數(shù)據(jù),切忌盲目動手,而是首先整理數(shù)據(jù)。就當(dāng)前通報表來說,數(shù)據(jù)源中對我們有用處的列并不多,只需要保留部門、工號、上下班的打卡結(jié)果這四列即可: 看上去清爽了很多吧?刪去了無用數(shù)據(jù)之后,就需要分析具體的統(tǒng)計思路,同時在數(shù)據(jù)源中尋找可以利用的規(guī)律。很容易看到,每個工號對應(yīng)的打卡結(jié)果都是6行2列(12個單元格)的一個數(shù)據(jù)區(qū)域: 我們需要根據(jù)這12個單元格中的信息進行分類統(tǒng)計,按照要求分為正常和異常兩類。其中異常包括了:缺卡、請假、遲到和早退四種情況,只要沒有異常即可視為正常。 根據(jù)統(tǒng)計要求添加輔助列。輔助列的作用就是簡化問題的難度系數(shù),在這個問題中我們可以這樣設(shè)置: 在繼續(xù)往下前,需要理清楚這里統(tǒng)計的6個數(shù)據(jù)的關(guān)系。通報表是按人數(shù)而非次數(shù)統(tǒng)計的,因此可以得出這些結(jié)論: ◎同一工號一周內(nèi)不管缺卡多少次,都算缺卡1人; ◎同一工號一周內(nèi)不管請假多少次,都算請假1人; ◎遲到、早退規(guī)則同上; ◎同一工號,一周內(nèi)不管缺卡+請假+遲到+早退有多少人,只要大于0,都算異常1人; ◎同一工號,一周內(nèi)正常人數(shù)等于1-異常。 很多時候我們是不建議使用合并單元格的,因為合并單元格會帶來很多不方便。但是這個例子中,每6行數(shù)據(jù)(一個工號的數(shù)據(jù))統(tǒng)計出一行結(jié)果,所以使用合并單元格會更方便。分別把E2:E7、F2:F7、G2:G7、H2:H7、I2:I7、J2:J7合并,然后在G2中輸入公式: =IF(COUNTIF($C2:$D7,G$1)>0,1,0) 右拉填充公式,4項異常都進行了統(tǒng)計。 從結(jié)果來看,這四項異常數(shù)據(jù)的統(tǒng)計結(jié)果是正確的。 這個公式的核心是COUNTIF,當(dāng)區(qū)域中符合條件的個數(shù)大于0時,得到1,否則得到0。注意區(qū)域和條件的寫法,$C2:$D7鎖定了列,G$1鎖定了行,這樣公式在右拉和下拉的時候就不用再去修改了。 異常的統(tǒng)計,只要后面四項之和大于0就算異常1人,公式為:=IF(SUM(G2:J7)>0,1,0)。這個公式很簡單了,相信大家都能明白。 到這一步,正常的統(tǒng)計更沒什么難度: 選中統(tǒng)計好的6個單元格,雙擊J2單元格的右下角,公式會自動向下填充至數(shù)據(jù)的最后一行,可以瀏覽一下結(jié)果: 咦!早退和遲到的統(tǒng)計結(jié)果出現(xiàn)了錯誤,怎么解決? 有些朋友可能想到了用通配符,沒錯,就是通配符,不過不用修改公式,只需要將表頭修改一下就好了: 看明白了吧,在表頭“遲到”和“早退”的兩邊都加上*,統(tǒng)計結(jié)果就正確了。 數(shù)據(jù)源經(jīng)過以上處理以后,要做出最終的統(tǒng)計表,已經(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)計人數(shù),用除法計算占比。 最后總結(jié)一下: 今天的通報表乍一看很棘手,平時工作可能也會遇到類似的情況。解決的辦法就是:首先排除無用的數(shù)據(jù),然后是尋找數(shù)據(jù)規(guī)律,根據(jù)統(tǒng)計需要使用輔助列,最后通過一些基本的操作,例如累計、排序、合并,還有填充等,完成任務(wù)。 今天的分享重在體會問題的解決過程,涉及到的公式都非常簡單,相信大家在動手練習(xí)的過程中一定會有很多收獲的。 |
|