文/王樂生
以前使用excel都是處理一般的數(shù)據(jù)归薛,今天老板交了一個(gè)任務(wù)給我—讓我使用指紋打卡機(jī)里面的數(shù)據(jù)做出考勤表出來(lái)搀继。當(dāng)時(shí)一聽到這個(gè)任務(wù),我是懵逼的棠绘,不信你看件相。
PS:在網(wǎng)上找不到類似的解決辦法,我在思考為什么氧苍,是不是另有玄機(jī)或者更好的解決辦法而我不知道夜矗??让虐?
這是指紋打卡機(jī)原始數(shù)據(jù):
老板要求做出來(lái)的效果:
其實(shí)做出這樣的效果最簡(jiǎn)單的就是——手工輸入紊撕。但是我嫌太麻煩而且又太慢了(眼睛疼),所以就想辦法用excel做出這樣子赡突。
首先我想到的是上網(wǎng)查对扶,結(jié)果大家都是簡(jiǎn)單粗暴只有上下班,沒有像老板要求的這么復(fù)雜的例子惭缰。無(wú)奈浪南。。漱受。
好啦络凿,經(jīng)過(guò)兩個(gè)多小時(shí)辛苦的探索,我做出來(lái)的效果圖如下:
做的時(shí)候真的是眼睛疼,而且又緊張絮记,不過(guò)還好老天眷顧+腦瓜子靈光摔踱,終于也算是做出來(lái)了,可能沒有那么好看怨愤,可是我這個(gè)版本數(shù)據(jù)很齊全對(duì)不對(duì)派敷!
好啦,現(xiàn)在開始說(shuō)步驟撰洗。
第一步篮愉,把打卡機(jī)數(shù)據(jù)ctrl+A全選,ctrl+c復(fù)制了赵,打開一個(gè)excel文檔潜支,ctrl+v粘貼。
把行列對(duì)齊
初步的效果圖如下:
好了柿汛,現(xiàn)在我們要做的就是先給name(姓名)一列排序冗酿,先隨便選中name(姓名)一列的某個(gè)單元格(注意:有姓名的單元格)數(shù)據(jù)—>排序—>A-Z
接下來(lái)選中name(姓名)一列,ctrl+c復(fù)制络断,粘貼在DateTime(打卡時(shí)間)后面〔锰妫現(xiàn)在效果如圖:
接下來(lái)我們要從DateTime(打卡時(shí)間)里面取出日期和時(shí)間
在日期的第一格使用=INT(G2)公式,取出日期
回車后的效果圖
在這里為什么結(jié)果會(huì)是數(shù)字貌笨,因?yàn)檫@是取出來(lái)的時(shí)間戳弱判,時(shí)間戳都是用數(shù)字表示,我們將這一列單元格設(shè)置成日期格式
設(shè)置好之后的效果圖
接著锥惋,把鼠標(biāo)放在這個(gè)單元格的右下角昌腰,當(dāng)鼠標(biāo)變成黑色的實(shí)心的十字架時(shí),將整列填充完畢
接下來(lái)取時(shí)間
使用=G2-I2公式膀跌,取出時(shí)間
記得要給時(shí)間列設(shè)置單元格格式
使用鼠標(biāo)十字架填充時(shí)間列
接下來(lái)很重要的一步遭商,通過(guò)時(shí)間分辨出每個(gè)時(shí)間段上下班的標(biāo)志,在這里我們要分辨兩次捅伤。
因?yàn)榈谝淮问欠直鏈?zhǔn)確的上下班時(shí)間段劫流,第二次則是分辨出上午下午晚上就OK了
先取好列名
使用? =IF(J2<--"8:10:00","上午上班",IF(J2<--"12:20:00","中午下班",IF(J2<--"13:40:00","下午上班",IF(J2<--"17:40:00","晚上下班",IF(J2<--"18:10:00","加班上班","半夜下班")))))? 函數(shù)分辨出上下午上下班時(shí)間
使用鼠標(biāo)十字架填充好上下午上下班時(shí)間這一列
接下來(lái)我們來(lái)使用? =IF(J2<--"8:10:00","上午",IF(J2<--"12:10:00","上午",IF(J2<--"13:40:00","下午",IF(J2<--"17:40:00","下午",IF(J2<--"18:10:00","晚上","晚上")))))? 函數(shù)分辨出上午下午晚上
使用鼠標(biāo)十字架填充好上下午這一列
現(xiàn)在選中name(姓名)、日期丛忆、時(shí)間祠汇、上下午上下班時(shí)間、上下午這五列
點(diǎn)擊數(shù)據(jù)——>數(shù)據(jù)透視表
點(diǎn)擊彈出來(lái)的對(duì)話框——>確定按鈕
然后會(huì)出現(xiàn)以下頁(yè)面熄诡,重點(diǎn)在右邊→_→
點(diǎn)擊透視表區(qū)域上面的復(fù)選框可很,按以下效果圖排列
必須要是一模一樣的,否則后面的效果做不出來(lái)凰浮。
行列字段可以拖動(dòng)
現(xiàn)在點(diǎn)擊值——>計(jì)數(shù)項(xiàng):時(shí)間旁邊的黑色小三角
選擇“值字段設(shè)置”
在彈出來(lái)的對(duì)話框選擇“最小值”—>點(diǎn)擊確定
然后在數(shù)據(jù)區(qū)域設(shè)置時(shí)間格式
效果圖如下
現(xiàn)在匯總太多看起來(lái)有點(diǎn)麻煩
選中“上午匯總”單元格右擊根穷,將分類匯總“上下午”的√去掉
因?yàn)楝F(xiàn)在在數(shù)據(jù)透視表里面姜骡,所以里面的數(shù)據(jù)我們現(xiàn)在還不能隨意的修改和刪除导坟,現(xiàn)在我們復(fù)制所有的數(shù)據(jù)屿良,粘貼到另一個(gè)excel文件里面
粘貼好后,現(xiàn)在我們就可以隨意的對(duì)數(shù)據(jù)進(jìn)行修改惫周、添加和刪除了
注意:出現(xiàn)######號(hào)是因?yàn)槿掌诟袷讲粚?duì)尘惧,設(shè)置一下日期格式就好了
接下來(lái),我們刪除沒用的日期時(shí)間递递,調(diào)整上下午的位置喷橙,然后在匯總的前面插入一行來(lái)計(jì)算每天加班的時(shí)間
使用? =INT((HOUR(E7-E6)*60+MINUTE(E7-E6))/30)/2? 公式來(lái)計(jì)算加班的時(shí)間
注意,加班這一行的單元格格式要是數(shù)值型的登舞,加班匯總那一行的單元格格式也要是數(shù)值型的
加班匯總所使用的函數(shù):sum()贰逾;
用完公式后的效果圖如下:
在這里要注意的是,如果單元格有數(shù)據(jù)空白則計(jì)算不出來(lái)數(shù)據(jù)
如果有多個(gè)員工菠秒,那么計(jì)算加班的方法差不多疙剑,公式也只要修改行號(hào)就好了
附:我們應(yīng)該怎么知道單元格的地址
在上圖的左上角紅色框框內(nèi)的E8就是當(dāng)前(綠色被選中的單元格)單元格的地址。
以上践叠。