前言|职场实例
今天遇到这样一个关于Excel在考勤数据中的应用实例。
如下图所示:
是一份从打卡考勤机中导出的考勤记录原始数据。即B列数据是考勤打卡的上下班时间点。我们观察出的排班规律是:一天只打两次卡(早上上班和下午下班),并且两个时间点数据之间有一个空格作为了间隔。是非常有规律且格式一致的数据,我们想要在C列得到每位员工的当日出勤时长,效果如下图所示:
01|辅助列分列 公式法
我们可以利用添加辅助列,将B列的两个时间点通过“分列”的方法,提取到C列和D列,单独放在单元格内,最后利用公式得到出勤时长。
为了不变动B列数据,我们可以将B列数据复制粘贴到C列,选中C列数据,点击“数据”选项卡,点击“分列”按钮,弹出“文本分列向导-第1步”对话框,默认按“分隔符号”进行分列,点击“下一步”,进入“文本分列向导-第2步”对话框,在“分隔符号”下勾选“空格”,继续点击“下一步”,进入“文本分列向导-第3步”,最后点击“完成”即可。最后分列的效果如下图所示:
在E2单元格输入函数公式:
=HOUR(D2-C2)&"小时"&MINUTE(D2-C2)&"分"
回车结束公式。下拉填充公式,即可得到所有员工的出勤时长。
02|直接公式法
我们可以不须要添加辅助列,直接在C2单元格输入函数公式:
=HOUR(RIGHT(B2,5)-LEFT(B2,5))&"小时"&MINUTE(RIGHT(B2,5)-LEFT(B2,5))&"分"
回车结束公式。下拉填充公式,即可得到所有员工的出勤时长。
我们分步骤来理解这个长长的函数。
①我们可以在C列运用LEFT函数提取出B列上班时间点
=LEFT(B2,5)
LEFT函数:表示从左边提取字符
LEFT语法:=LEFT(字符串,从左边提取几个字符)
②我们可以在D列运用RIGHT函数提取出B列下班时间点
=RIGHT(B2,5)
RIGHT函数:表示从右侧提取字符
RIGHT语法:=RIGHT(字符串, 从右边提取几个字符)
③在E2单元格输入函数公式:
=HOUR(D2-C2)&"小时"&MINUTE(D2-C2)&"分"
回车结束公式。下拉填充公式,即可得到所有员工的出勤时长。
我们可以将辅助列D2单元格(下班时间点)用公式“=RIGHT(B2,5)”代替
将辅助列C2单元格(上班时间点)用公式“=LEFT(B2,5)”代替,如下图所示:
最后转换成一个整体的公式:
=HOUR(RIGHT(B2,5)-LEFT(B2,5))&"小时"&MINUTE(RIGHT(B2,5)-LEFT(B2,5))&"分"