分享

考勤机数据整理(老师示范作业已发布,欢迎学习)

 爱上大山 2016-07-25

1分析的结果并不一定全部能应用,还需要实践的检验。本节是学习考勤机数据的整理,大部分公司都用考勤机,因市场上考勤机的品种多种多样,导出的数据格式也多种多样,有的考勤机能直接达到想要的考勤数据效果,这节课可略过。


在第1节也分析了数据如何处理,但在实际处理时,需要对设想的结果进行印证:


1、考勤机数据能否通过简单处理,得到想要的结果,如果不能,需要对其进行怎样的处理才能达到想要的效果。提示:有的公司考勤机数据只记录上下班时间,通过处理即可得到迟到、早退、加班时长等数据。但有的公司打一次卡就记录一次时间,有的员工一天会打N次卡,如何提取出上班最晚打卡时间和下班最早打卡时间?

如将考勤原始数据处理成表4的格式,再进行下一步的处理。


4

2、方法应用。如何对考勤机的原始数据进行处理,需要采用一定的方法。大部分同学会想到用函数,如果用函数,需要什么样的函数(不一定是将函数列出来,有可能是想到要用哪一类的函数,如要用到能处理时间类的函数)。还有可能不需要函数,不需要函数的采用什么样的方法去处理。


3、函数选择。用函数是主流,这一步是针对使用函数的同学。如果知道使用具体的函数,直接列出即可。如果不知道使用具体函数,只知道使用某一类的函数,请同学们借助网络、帮助文件或EXCEL页面上“公式”选项卡的“函数库”功能区去一一查找具体函数。

例如:不知道该如何对比两个时间的大小,就可以借助网络搜索,检索内容如“EXCEL 如何对比两个时间大小”。


4、方法选择。这一步是针对不使用函数的同学或既使用函数又使用其它方法的同学。如果知道具体方法,直接列出即可。如果不知道具体方法,请借助网络去查找。


5、函数或操作方法掌握。

使用函数的列出需要使用的具体函数,并将查找到的函数定义、语法、各参数的详细解释等列出来并掌握,同时用自己的语言去记住此函数。如IF函数,可以用自己的语言记录为IF(条件判断,条件为真时返回的数值,条件不为真时返回的数值),甚至更简化“如果为真返回XX,否则返回XX”,无论科学与否,只要能让你记住并掌握此函数就可以。

使用其它方法的同学,请将此方法掌握,并通过帮助文件或网络搜索,掌握这个方法的其它基本应用,如果有能力掌握它的高级应用。


6、数据处理。通过掌握的函数或方法将需要处理的数据进行处理,同时检验函数或方法掌握的程度。如果用函数得不到自己想要的结果,请借助网络搜索去借鉴其他人的经验。


本节的内容,对熟悉函数或其它操作方法的同学来说比较简单。不熟悉的同学,请学会如何借助网络等手段搜索到自己想要的结果,并将其掌握,只有这样才能掌握学习的方法以及更快的掌握知识。


——————————————————————————————————————————

本课作业


依据上述课程介绍方法,说说你学到的数据处理方法和技巧,并将原始数据和处理后的数据贴出来供大家学习(保密信息请处理)。





———————————如下是基于以上思路,我自己写的训练作业———————————


本节主要训练函数的查找、基本用法的掌握。


一、原始数据是否符合设计表格要求

从第1节中设计的表格来看,考勤源数据需要经过处理后才能达到我们设计表格的要求,如下图。


1节也分析过,员工编号需要在员工信息表中导入;星期根据日期可以计算;迟到、早退、旷工情况根据打卡时间和次数来得出。再根据上图,我们还可以看到,“刷卡时间”一列中,即包括刷卡日期,也包括刷卡的具体时间,而且刷卡时间是按日期和时间早晚顺次往下排的,所以根据这一列我们可以想办法将“日期”、“上班卡”、“下班卡”统计出来。


二、方法应用

在前面的内容中我们只分析了通过哪些方法或数据得到哪些数据,但不清楚用什么方法,通常能想到的是函数法,这是一个解决办法,但并不是唯一的办法。

如果没有解决思路,我们可以借助网络搜索自己想要的答案。在不清楚如何描述问题去搜索的时候,我们可能得需要多次搜索,逐渐的缩小搜索范围,这就需要我们去学习如何在有限的信息中得到自己的答案,或者根据别人的方法开拓自己的思路。通过搜索来学习,我们还可以发现很多额外的知识或技巧来学习。这样知识会从点到线,从线到面,逐渐掌握的全面起来。


例如“员工编号”和“姓名”对应的问题,我们不知道问题如何具体描述的,可以在百度中输入“EXCEL 员工编号和姓名如何对应”。切记,想要用EXCEL来解决这个问题,前面最好带上EXCEL这个词。在搜索的答案中,我们会看到用VLOOKUP函数来解决这个问题。

又如,不知道如何根据日期得出星期,在百度中搜索“EXCEL 根据日期得出星期”,我们会查到几种解决方法,如TEXT函数、WEEKDAY函数。


再如,“刷卡时间”列中日期和时间是在一个单元格中,如何将它们分开,通过搜索“EXCEL 日期和时间分开”,我们会得到很多方法,不再一一列出,大家可以搜索一下。

至于如何将上下排列的时间分成左右排列的,以及如何统计迟到、早退和旷工,不再讲述,大家可以借助网络搜索。

这一部分,基本是针对如何用网络搜索得到自己的答案进行讲解,适用于初学者,如果掌握考勤数据处理方法的,也可以再练习一次,通过搜索,我们能发现很多处理方法。


三、方法选择

通过网络搜索或自己思考,我们基本能确定使用的方法。

(一)函数法

包括:VLOOKUPIFTEXTHOURMINUTESECONDTIMEMAXMININDEXCOUNTIFCOUNTIFSCOUNTCOUNTAWEEKDAYDATEYEARMONTHDAYLEFTMIDRIGHT等函数,考勤源数据不同,设计的表格不同,需要的函数就不同。

(二)其它方法

排序、分列、数据透视表的操作等


 四、函数或操作方法掌握


(一)函数

通过查询或搜索,我们通常会得到处理方法,不要急于应用到你的数据表中,这一点一定要切记,因为那是别人的知识,我们需要先将函数或操作方法掌握,将知识转换为自己的。学习函数建议首先通过EXCEL的帮助文件来学习,在EXCEL中,按F1,出现“Excel帮助”窗口,在“搜索”下拉列表中选择“Excel帮助”,如下图所示。然后在搜索框中输入搜索的内容,例如“IF”,就会出现IF函数的帮助。


Excel帮助文件中,每个函数的语法中会有很长的英文单词或词组,很多人会感觉头大,不要被这些吓到,不要管那些单词或词组,只要记住每个函数中各个参数是什么概念、怎么用等,然后转换成自己的语言,自己的语言说出来不可能很科学,但自己知道什么意思就可以。

例如VLOOKUP函数,它的语法和各参数解释有很多,如下图。


我们先借助下面的事例理解这些参数的意思,然后将它转换成自己的语言,如:

VLOOKUP(查找值,查找值在第一列的数据区域,从查找值那列起对应的第几列,精确查找还是模糊查找)。

这只是一个记忆方法,一定要转换为自己的语言来记忆这个函数,这样就会印象深刻,进而掌握这个函数。

对每个函数都用自己的语言和记忆方式去加深印象,函数可以不背过,首先需要记忆的是这个函数有什么作用,对这个函数有个大概印象,07及以上版本,我们输入“=”号后,输入一个字母,就会提示以这个字母为首字母的所有函数(隐藏函数除外,很少),而且鼠标左键单击各个函数,还会出现这个函数的作用。如我们输入“=V”,结果如下图。


千万要记住,得到的解决问题的方法只能解决你的一个问题,要想将这个方法融会贯通,就得需要自己多努力,网络搜索不可能一次就能得到正确答案,帮助文件只解决基本的问题,我们需要借助多种方法来掌握一些知识,千万不要怕麻烦,EXCEL操作永远不会提高,操作方法一直会很“僵硬”,不会变通。


(二)操作方法

以“分列”来举例。

EXCEL中,每个功能要掌握都不是太难,掌握了基本功能就能满足我们工作的需要,有时间再去掌握那结复杂的操作,所以碰到一项操作,我们需要反复的练习这项操作,一直到掌握它。

如有的朋友的“打卡时间”是文本格式,我们通过分列功能,出现分列窗口后,直接点确定就可以将其转换为时间格式,日期和时间在一个单元格中,我们需要可能需要设置分隔符号来分开,将考勤数据粘贴到一个新的工作表中,一项项去试验,去练习,直到掌握了为止。

对于排序,相信很多人都会,一般是升序降序,当然还有自定义排序,不过在工作中应用还不是太多,这个很简单,自己试着操作一下。

和数据透视表,好多人一听这个头大,感觉难,但是在处理大数据时是相当方便的一个工作,它只需要我们拖动几下鼠标,就可以得到想要的结果。

 

在我们应用函数或一些操作方法的时候,有时候会出现自己的结果和搜索的示例的结果是不一样的,仔细去核对,我们还能发现很多问题,例如公式中的绝对引用和相对引用、出现数值型日期或数值型时间、单元格变动后公式也会改变等等,有好多小问题会出现。此时的解决方法也是想办法去查找原因,然后将如何讲解这些问题的方法记下来,这样才能夯实基础。


五、数据处理

现在到了真正的数据处理阶段,相信很多人在网上搜索了方法后,就急不可待在考勤数据里试验,但这并不是一个好的学习方法,而是掌握了相关的知识后,自己思考着如何去解决这些问题。如前面提到了姓名和员工编号对照,我们搜索到用VLOOKUP函数解决后,不要拿搜索到的方法急急忙忙的去套入自己的数据表中,而是去将VLOOKUP函数掌握,然后自己根据学到的知识应用到数据表中,只有这样,才能算是自己解决了问题,我想这样掌握的知识会更深


(一)导入员工编号

在考勤源数据中将“考勤号”修改为“员工编号”,在A2单元格输入公式“=VLOOKUP(B2,员工信息表!A:B,2,0)”,其中员工信息表假定如下:


这是姓名在前,员工编号在后,但一般情况是我们将员工编号放在姓名前面。我们在学习VLOOKUP函数的时候知道它是向后查找,在不改变工作表结构的情况下,能否让VLOOKUP向前查找?先不要否定,可以再去搜索一下。

通过搜索是有解决方法的,但对于初学者来说,这个公式比较难理解,能掌握先把它掌握,当前掌握不了,将它背下来慢慢理解。将员工姓名和员工编号两列调换一下位置,也是很方便的,试试组合键<>< span="">鼠标左键>拖动整列。<>


<>< span=""> <>

(二)将打卡日期和打卡时间分开

通过综合对比,我们选定用分列的方法提取日期和时间,因为这样是最简便的。但不要想着最简便就一直应用它,试着用多种方法将日期和时间分开。

我们选中C列,在“数据”选项卡“数据工具”功能区选择“分列”,将日期和时间分开。

除了分列,有没有其它方法来解决这个问题呢?可能有朋友通过搜索或自己想出来了。

用日期函数(DATEYEARMONTHDAY)和时间函数(HOURMINUTESECONDTIME)分别提取出来。

有的源数据还可以用LEFTMIDRIGHT函数来提取。


(三)处理上下班打卡时间

打卡时间里面也会出现问题需要注意,如如何判定是上班卡还是下班卡、员工休半天假的时候如何去判定等,我们可以设定中午12点以前打卡的都为上班卡,12点以后打卡的都为下班卡,当然这个设定是根据公司日常的普遍情况而来的(我们一样可以设置10点以前算上班卡,15点以后算下班卡,这些都是可以的,既符合实际情况又能得到正确结果)。这样如果上午请假的,一天中会出现两个下班卡,我们可以通过排序或其它方法查找来解决这些问题,我想这种情况应该还不算多,很好解决的。

我们在E2单元格输入公式“=IF(D2<12/24,D2,"")”,在F2单元格输入公式“=IF(D2>12/24,D2,"")”,双击填充,结果如下。



这样我们会发现上班卡和下班卡分成两列了,但是同一日期没在一行,我们可以在G2单元格输入公式“=IF(C2=C3,F3,"")”,双击填充,将G1输入“下班卡”。将E:G列复制并选择性粘贴为数值格式,删除F列,通过对E列、F列排序,删除E列和F列都为空白的行,再对C列进行排序,结果如下。



(四)其它公式编辑

将表格结构和内容更改如下:


各单元格输入公式如下:

D2=WEEKDAY(C2,2)

G2=IF(E2>8.5/24,1,"")

H2=IF(F2<17.5/24,1,"")

I2=IF(COUNT(E2:F2)<2,1,"")

双击填充。

 

最后结果如下:


 

这是用函数来得到的结果,用数据透视表一样可以得到每天最早和最晚打卡的结果,求字段的最小值和最大值。在这里不再讲解,只是告诉大家这个方法。

对于迟到、早退的统计,除了用函数,我们同样可以用排序的方法来解决,通过升序或降序,晚于或早于一定时间的,我们都标注上迟到或早退的情况。


对于统计星期的方法,除了用WEEKDAY函数,我们还可以用TEXT函数或者直接用自定义格式。

解决一个问题有很多的操作方法,关键在于你有没有仔细思考,多应用几种方法掌握知识的速度才会快。

各个公司的考勤源数据不同,你们的操作结果和步骤是怎样的,你们掌握了哪些知识,快发总结向大家分享一下。如何仅看我写的这些,是学不到多少东西的,它只是引导你去学习一些相关知识。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多