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