- 17.50 KB
- 2022-04-29 14:19:48 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'用Excel制作自动记录的考勤表作为一项规章制度,几乎每个公司、部门都要进行考勤登记,其结果一般都和工资挂钩。传统的考勤登记方式不外乎以下两种:一是在制作、印刷好的考勤表上填写员工的姓名,然后由考勤员每天记录各员工的迟到、早退、病假、事假、旷工等情况,再在月末进行统计;另一种就是使用“打卡机”,在人员比较多的单位用得比较多,末了也要考勤员记录和统计。传统考勤方式的缺点不言自明:工作量大、出错几率高、需要专用设备、统计分析麻烦。你可以用Excel制作简单、快捷、准确的考勤表。[float=right][/float] 1.制作考勤表的基本框架 首先要进行的工作当然就是新建工作簿,在工作表中输入姓名、日期,制订考勤表的基本框架。 (1)启动Excel,新建一个工作簿,命名为“2004年员工考勤表”,在工作簿中建立12个工作表,分别记录每个月的考勤状况,将每个月的工作表依次命名为“一月”、“二月”、“三月”等。 (2)在当月工作表的A1、B1单元格中分别输入“姓名”、“日期”,在A2单元格中输入第1个员工的姓名,接着选择A2、A3单元格,然后点击“合并及居中”按钮将两个单元格合并为1个单元格,按照以上方法录入其他员工的姓名。 (3)在单元格C1中输入“1-1”,程序将自动转成“1月1日”(这里假定考勤从1月1日6/6
开始)。用鼠标点选单元格C1,并移动鼠标到单元格的右下角,待出现实心“十”字的填充柄后,按住左键拖动到需要的位置,这样在1月1日后便形成了一个日期序列。 (3)点击日期序列最后的“自动填充选项”智能填充标记,选择“以工作日填充”命令,程序便自动将星期六、日去掉,不计入考勤日期。 (4)默认情况下日期格式是某月某日,其实我们可以统一去掉前面的月。框选整个日期行,然后点击“格式→单元格”菜单命令,在出现的“单元格格式”对话框中点击“数字”选项卡。在“分类”列表中点选“自定义”项,在类型框中输入“d"日"”,然后点击“确定”按钮。这样选区中的日期格式就全变了。 2.录制记录上下班时间的宏 在制作完考勤表的基本框架后,我们接着就需要录制一个记录员工上下班时间的宏: (1)点选工作表中的任意单元格,然后点击“工具→宏→录制新宏”菜单命令,进入“录制新宏”对话框。在“宏名”框中输入准备录制的宏的名称——“返回当前时间”,“确定”后即进入宏的录制阶段。 (2)输入公式“=NOW()”,然后按回车键,接着点击“停止录制”工具栏中的“停止录制”按钮结束录制。 这样,“返回当前时间”宏便录制完了,执行此宏将在活动单元格中返回当前的日期和时间。 3.制作宏按钮6/6
接下来就是在B列中制作一些按钮,用来调用“返回当前时间”的宏,以记录员工上下班时间。下面我们就一起来看看其具体制作步骤: (1)点击“视图→工具栏→绘图”菜单命令,打开“绘图”工具栏,接着选择“绘图”工具栏中的“绘图→对齐→对齐网格”项。这一步的主要目的是使后面绘制的按钮尺寸正好和单元格一样大。 (2)点击“视图→工具栏→窗体”菜单命令,打开“窗体”工具栏,然后点击“窗体”工具栏上的“按钮”,接着在单元格B2中拖动鼠标绘制一个按钮,Excel将自动打开“指定宏”对话框,点选其中的“返回当前时间”宏,并点击“确定”按钮。这一步的目的是将“返回当前时间”宏指定给按钮,这样,点击按钮便会执行此宏。 (3)点击按钮,将按钮上的文字更改为“上班”,并对文字大小、字体进行设置。然后点击“绘图”工具栏上的“选择对象”按钮,并按住Ctrl键,用鼠标将刚才制作的按钮拖到B3中,即将制作好的按钮复制到B3中,并将按钮上的问题更改为“下班”。 注意:如果不按下“绘图”工具栏中的“选择对象”按钮,则点击按钮后,将执行“返回当前时间”的宏命令。 (4)确认“绘图”工具栏上的“选择对象”按钮被选中,点击“下班”按钮,然后按住Shift键再点击“上班”按钮,将两个按钮同时选中。点击Ctrl键,用鼠标将选中的两个按钮拖动复制到B列的其余单元格中。 4.记录出勤6/6
有了前面的制作,出勤的记录就非常简单了:只需点选待插入上下班时间的单元格,点击同一行中的“上班”或“下班”按钮即可。当然如果是“事假”、“病假”等则需要直接输入。不过点击“上班”、“下班”按钮返回了很长一串数字,其实我们只需要诸如“13:30”这样的时间即可。因此,需要作如下设置: 选中整个考勤记录区域,然后点击“格式→单元格”菜单命令,在出现的“单元格格式”对话框中点击“数字”选项卡,在分类框中选中“时间”,在“类型”框中点中“13:30”,最后点击“确定”即可。 接下来我们需要做的一件事情是:把出勤记录由公式结果转换成具体的时间数值。否则当公式被重新计算后,其结果将更改。选中表中的所有数据单元格,点击右键选择“复制”命令,点选“编辑→选择性粘贴”菜单命令,在“选择性粘贴”对话框中选中“数值”项,然后点击“确定”按钮即可。 5.月末统计 一般来说,月末会是考勤员最忙的时候。为什么呢?因为他们需要对整月的考勤进行统计,但在本例中,只需要用简单的公式和函数,便能很容易进行月末统计,具体操作如下: (1)在日期行之后的单元格中依次输入“迟到”、“早退”、“病假”、“事假”等需要统计的项目。并将这几列中的单元格上下两两合并,使之对应于姓名行。6/6
(2)点击单元格Z2,然后键入公式“=COUNTIF(C2:Y2,">830")”(这里假设上班时间为8:30),并按回车键,Z2单元格中便会出现“XX”所有迟于8:30上班的工作日天数。同理在AA2单元格中输入公式“=COUNTIF(C3:Y3,"<17:30”")”(假设下班时间为17:30),并按回车键,AA2单元格中便会出现“XX”所有早于17:30下班的工作日天数。 (3)点击AB2单元格输入公式“=COUNTIF(C2:Y3,"事假")”,并按回车键确认,AB2单元格中便出现了“XX”本月的事假次数。按照类似的方法在单元格AC2、AD2、AE2输入公式,公式的具体内容跟AB2中的类似,只需将“事假”改成相应的“年假”、“病假”、“产假”即可。这样“马英伟”的本月考勤就统计完了。 (4)接下来其他人的统计就不用这么麻烦了,我们可以利用Excel的公式和相对引用功能,用拖拉的方法瞬间便能完成所有人的考勤统计。用鼠标选中Z2:AE2区域,将鼠标移到所选区域的右下角,等光标变成黑色的实心“十”字状时按住左键往下拖,直到最后一行。 (5)点击“工具→选项”菜单项,在出现对话框中点击“重新计算”选项卡,并点击“重算活动工作表”按钮。这样所有员工的考勤就全部统计出来了。 注意:一般无法将所有员工整个月的考勤在一个屏幕中显示出来,这时我们就需要对窗口进行拆分和冻结。此例中可以将“姓名”、“日期”所在的列和行冻结起来,这样不管我们怎样移动滚动条,都能看到相应的姓名和日期。6/6
6.改进宏 前面宏命令的实质就是向当前活动单元格中插入一个返回当前系统时间的公式。为了不让因重新计算而改变各单元格的数值,我们前面采用“复制→选择性粘贴”的方法,将公式结果转化成数值。其实,我们只要对宏命令稍加修改便能解决此问题,避免每次无聊的重复操作。具体修改步骤如下: (1)点击“工具→宏→宏”菜单命令,在出现的“宏”窗口中选择“返回当前时间”,然后点击“编辑”按钮。 (2)在弹出来的VB编程器窗口,我们可以看到“返回当前时间”宏的程序代码,将语句“ActiveCell.FormulaR1C1="=NOW()"”改成“ActiveCell=NOW()”,然后保存退出。 这样,再点击“上班”、“下班”按钮,插入活动单元格中的就不再是“=NOW()”公式,而是具体的时间数值了。以后不管重算多少次,插入的数值绝不会随系统时间的变化改动一次。6/6'