作者kooluhk (瓦肯星上有蛇)
看板Office
标题[算表] 分享考勤报表Excel判断迟到早退打卡没?
时间Fri Nov 10 00:42:06 2017
软体:EXCEL
版本:2016
使用函数:IF、AND
最近初任人事,日常工作之一就是管理指纹机的打卡资料,指纹机系统汇出的考勤报表
就只有五栏:A栏∕考勤编号、B栏∕姓名、C栏∕日期、D栏∕签到时间、E栏∕签
退时间、F栏∕例外状况,非常阳春。例外状况无法在系统里随意编辑,也只会显示当
次是出勤加班还是休啥假这样,前几任人事都是印出纸本後再一一手写标志出勤细节。
自己刚开始接手的时候,试着用EXCEL做些手动标记迟到早退、早到晚退、没打卡
…感觉效率一样的差、既伤眼又伤神。
听说了EXCEL不只可以用来算加减乘除,於是在尝试求助GOOGLE之後,以下
是我对IF函数的极端菜鸟级尝试~~
因为还不知道怎麽合并字串,所以这篇的例子秀出的判断结果都不是与签到、签退时间
同一格的…
Ⅰ、如何替签到签退时间标上迟到早退等判断?
首先在D2与E2分别建立正常的上下班时间以作为辅助格,然後在F4里输入公式,
设定时间等於辅助格D2时是正常上班、小於D2时是早退、不然就是迟到:
签到判断Ⅰ版 =IF($D4=$D$2,"正常",IF($D4<$D$2,"早到","迟到"))
对签退时间的判断则是放在G栏:
签退判断Ⅰ版 =IF($E4=$E$2,"正常",IF($E4<$E$2,"早退","晚退"))
然後复制贴上或按住所选储存格右下角加号下拉应用在整个栏上检视,除了签到、签退
时间有空白的会被判断错误,基本OK,只是还是太简陋了…
Ⅱ、不过老板说没有上超过一个小时不能算早到晚退!
忘掉辅助格吧~在公式中使用实际时间值感觉方便多了,可以详细设定时间,例如七点
以前到才算早到,八点前算正常,其他算迟到:
签到判断Ⅱ版 =IF($D4<=(--"7:00"),"早到",IF($D4<=(--"8:00"),"正常","迟到"))
签退判断Ⅱ版 =IF($E4>=(--"18:00"),"晚退",IF($E4>=(--"17:00"),"正常","早退"))
(话说有谁知道公式里连续两个减号是干嘛用的?好像不行拿掉)
Ⅲ、除了正常、迟到早退、早到晚退外,还有没打卡的呢?
D栏储存格空白就是没签到、E栏储存格空白就是没签退:
签到判断Ⅲ版 =IF($D4="","没签到",IF($D4<=(--"7:00"),"早到",IF($D4<=(--
"8:00"),"正常","迟到")))
签退判断Ⅲ版 =IF($E4="","没签退",IF($E4>=(--"18:00"),"晚退",IF($E4>=(--
"17:00"),"正常","早退")))
Ⅳ、欸…等等,别忘了还有未出勤的!!!
假如D栏与E栏同为空白就不反应,所以双引号空白:
签到判断Ⅳ版 =IF(AND($D4="",$E4=""),"",IF($D4="","没签到",IF($D4<=(--
"7:00"),"早到",IF($D4<=(--"8:00"),"正常","迟到"))))
签退判断Ⅳ版 =IF(AND($E4="",$D4=""),"",IF($E4="","没签退",IF($E4>=(--
"18:00"),"晚退",IF($E4>=(--"17:00"),"正常","早退"))))
於是最终,范例截图:
https://i.imgur.com/MNlARF8.jpg
不敢相信花了近一礼拜在这短短一条公式上。哈哈,特此分享留念。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.129.243.253
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1510245731.A.C6A.html
1F:推 ahwii: =TEXT(A1,"[>=80]优秀;[>=60]及格;不及格;错误值") 11/10 10:38
2F:→ ahwii: 用text也可以判断,可惜只能3个+1个错误值,所以可用巢状 11/10 10:40
3F:→ ahwii: =TEXT(TEXT(TEXT(A2,"[>=90]甲;[>=80]乙;0"),"[>=70]丙; 11/10 10:41
4F:→ ahwii: [>=60]丁;0"),"[>=50]戊;[>=40]己;庚") 11/10 10:41
※ 编辑: kooluhk (220.129.243.253), 11/10/2017 18:49:08
5F:→ kooluhk: 改了一下Ⅲ版, 少了一个双引号... 汗 11/10 18:50
6F:→ kooluhk: 结果在家用好拿去办公室才发现那边EXCEL是2007版 QQ 11/10 18:52
7F:→ kooluhk: 谢谢a大分享, 不过我需要先去认识认识TEXT函数... (>_<;) 11/10 19:13