资讯速递:自2020年1月1日起,对在职职工总数30人(含30)以下的企业,暂免征收残保金。新老企业都能享受,不再受36个月的限制。——发改价格规(2019)2015号 人力资源管理工作中,考勤数据的处理是最基础的工作之一。今天我们来分享下考勤表的制作。从上图可以看出,当改变A2中的日期时,制表日期、日期行、星期行都随之变动,且周六、周日所在列的底纹颜色都会变成我们预先设置的颜色。 在开始之前,我们先来学习一下案例里要用到的三个函数。EOMONTH(start_date,months),返回一串日期,表示指定月数之前或之后的月份的最后一天。Months , start_date 之前或之后的月份数。months 为正值将生成未来日期;为负值将生成过去日期,为0将生成当月的日期。COLUMN(reference),返回单元格或单元格区域的列标。参数如果是一个单元格,则返回参数中单元格所在列的列号(如COLUMN(A1)返回1);如果是一个区域,则返回区域中第一列的列号;如果不填写,则返回当前选定单元格所在列的列号。WEEKDAY(serial_number,return_type),返回对应于某个日期的一周中的第几天。serial_number,一个序列号,指定要查找的那一天的日期。return_type,用于确定返回值类型的数字。默认情况下,天数是1(星期日)到7(星期六)范围内的整数。
A2单元格输入标准日期,如2019/12/1,跨列居中或合并居中,单元格格式设置为日期XXXX年X月。Z3单元格输入“制表日期”。AC3单元格输入公式:EOMONTH(A2,0),获得2019年12月的最后一天的日期是2019/12/31。根据我们想要的效果,B4显示1、C4显示2……,本质上B4为2019/12/1、C4为2019/12/2……我们可以用DATE函数提取A2单元格的“年”、“月”。而“日”,可以用COLUMN函数来生成。B4=DATE(YEAR($A$2),MONTH($A$2),COLUMN(A1))。把公式向右填充,得到了1-31日的日期。设置B4:AF4的单元格格式:数字 - 自定义,右侧框中输入字母 d ( Day的缩写,日期的自定义代码,代表天数)。在A2中输入2019/11/1,我们发现AF4等于1,日期自动顺延到了下一个月。要解决这个问题,我们需要增加一个条件判断,用DAY(AC3)获取当月的天数,当日期行的数值大于当月的天数时,就不显示数据。此时B4的公式为:IF(COLUMN(A1)>DAY($AC$3),'',DATE(YEAR($A$2),MONTH($A$2),COLUMN(A1)))。这时看到AF4已为空。我们让星期行的数据等于日期行的数据,B5=B4、C5=C4……,再给B5:AF5设置单元格格式:数字 - 自定义,右侧框中输入字母aaa ( 日期的自定义代码,将日期显示为缩写的星期几,显示为一、二、三、四、五、六、日)。这里不再赘述,大家自己去设置一下。用条件格式和WEEKDAY函数来设置周末单元格的底纹,以区别于其他单元格。WEEKDAY函数返回的是对应于某个日期的一周中的第几天。那么如果其返回的值大于5就意味着当天为周六或周日。可以用这个条件来判断哪天为周六、周日,再用条件格式来设置满足这个条件的单元格的底纹。这样,一个比较智能化的考勤表就制作完成了。大家可以试试看是否有更加简便的其他方法。
|