在之前的文章《Excel圖表學習之創建有目標值的多系列多條件柱狀圖》中,我們了解了一個Excel圖表教程,而今天我們分享一篇整理考勤數據的教程,就簡單兩個公式,學會后,不管你公司有多少人都不帶怕的。
手機如何做表格:點擊查看
考勤機幾乎是每個公司都會使用的,而每到月初月末,整理考勤機導出的考勤數據,需要耗費我們大量的時間,今天教給大家兩個公式,一分鐘就可以整理出考勤數據。
我們平時從考勤機導出的考勤數據,通過Excel打開后基本都是這樣的格式:
為了進一步統計考勤數據,希望將上面的這種格式整理為這樣的效果:
每人每天的打卡記錄在同一行,并且根據上下班時間比對后標注出異常情況。
上下班時間規定如下:
上午上班時間8:00,上午下班時間12:00,下午上班時間13:30,下午下班時間17:30
要實現這種效果的轉換,感覺是非常麻煩的一件事,其實只要掌握兩個公式和一些基本的操作技巧,一分鐘就可以完成,下面就來看看如何實現吧。
一、基礎數據整理
在基礎數據的右邊添加幾列,將時間分為上午上班、上午下班、下午上班和下午下班四列,并且標注出對應的時間:
將卡號、人員和日期三列復制到右邊對應的位置,然后使用“刪除重復項”功能:
點擊確定后會刪除重復的內容,每人每天只保留一行:
接下來的任務就是將對應的打卡時間填入對應的位置,并且對異常數據不顯示具體時間,只顯示異常兩個字。為了實現這個目的,需要使用兩個公式來配合,下面先看第一個公式。
二、使用公式備注打卡時間
為了便于對打卡時間進行統計,首先要根據上下班時間進行備注,實現下圖中的效果:
根據上下班時間需要分為四種情況:
1、8點以前打卡視為上午上班;
2、12點以后打卡視為上午下班,考慮到還有下午上班這個因素,人為規定12點到12點30之間打卡為上午下班;
3、同理,人為規定13點到13點30之間打卡為下午上班;
4、17點30以后打卡為下午下班;
5、除此之外的時間打卡均為無效,顯示空白。
E2單元格公式為:
=IF(D2<=$K$1,$K$2,"")&IF(AND(D2>=$L$1,D2<=$O$1),$L$2,"")&IF(AND(D2>=$P$1,D2<=$M$1),$M$2,"")&IF(D2>=$N$1,$N$2,"")
,雙擊填充可實現圖中的效果。
第一個IF為:=IF(D2<=$K$1,$K$2,"")
當d2(打卡時間)小于等于k1(上午上班時間)時,if函數的結果為k2(上午上班這四個字),否則返回空值;
第二個if為:IF(AND(D2>=$L$1,D2<=$O$1),$L$2,"")
當d2(打卡時間)大于等于L2(上午下班時間)同時小于等于o1(人為規定下班打卡截止時間)時,if函數的結果為L2(上午下班這四個字),否則返回空值。
第三個if為:IF(AND(D2>=$P$1,D2<=$M$1),$M$2,"")
當d2(打卡時間)大于等于p2(人為規定上班打卡開始時間)同時小于等于M1(下午上班時間)時,if函數的結果為M2(下午下班這四個字),否則返回空值。
第四個if為:IF(D2>=$N$1,$N$2,"")
當d2(打卡時間)大于等于N1(下午下班時間)時,if函數的結果為N2(下午下班這四個字),否則返回空值。
完成了備注信息之后,就該把對應的時間填入對應的區域內,這時候可以用一個公式右拉下拉就能完成時間的填充,一起來看看是哪個神奇的公式吧。
三、填充時間
在K2單元格輸入公式:
=TEXT(SUMIFS($D:$D,$C:$C,$J3,$A:$A,$H3,$E:$E,K$2),"hh:mm:ss;;異常;")
右拉下拉即可完成時間的填充。
這個公式用到了兩個函數,text和sumifs,來看看公式的原理吧。
sumifs函數的結構為sumifs(要求和的數據區域,條件區域1,條件1,條件區域2,條件2……)
,在今天的例子里我們用了三個條件,實際求和的是D列,三個條件分別是日期、卡號和備注信息,符合三個條件的數字都是唯一的,所以求和結果和引用結果是一致的。
因此公式為:
SUMIFS($D:$D,$C:$C,$J3,$A:$A,$H3,$E:$E,K$2)
使用公式得到結果是這樣的一些數字,因為在Excel中,日期和時間的本質都是數字,整數代表日期,而小數就代表時間,將上述區域單元格格式改為時間再看看效果,數字都變成了具體的時間,如下所示:
實際上在進行了單元格格式設置后基本就達到目的了,為了完善顯示效果,同時強制顯示為時間格式,我們在sumifs外面再加了一個text函數,即使在常規格式下,也是按時間來顯示的,同時0所在的位置顯示為異常。
簡單解釋一下text的用法,text(數據,指定的格式),在本例中,第二參數格式定義為時分秒的顯示方式,字母h、m和s分別表示時分秒,都是兩位數字顯示。
格式代碼中的分號,可以按照數據類型單獨設置顯示方式,text規定將數據分成四種:正數;負數;零;文本。本例中正數按照時間格式顯示,負數和文本沒有指定格式就不顯示,而零顯示為異常兩個字。
關于text函數今天只是了解在本例的用法即可。
小結:
1、合理利用輔助列:考勤數據的整理歷來都是比較麻煩的問題,一步到位往往非常困難,此時合理的利用輔助列就能將問題的難度一下子降低不少。
2、公式不能萬能的:考勤的基礎數據就是時間,還有相關的規定共同組成了數據之間的邏輯關系,本例適合比較規范的情況,如果是多種班次并存的情況,就不能通過這種方法來實現了,還要結合每個人的班次對應的上下班時間來綜合考慮,就需要考勤機的配套軟件來完成數據的統計匯總。
相關學習推薦:excel教程