设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[Excel函数公式] 使用NetWorkDays.INTL函数统计员工工作天数的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2015-6-28 13:36:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

                        在制作工资表、计算新员工或辞职员工工资时,由于很多情况下员工不是月初入职或月末离职的,算员工的工作日天数时就会遇到一个棘手的难题:扣除周末天数。
        记得有位HRMM是这样做的,翻开日历,然后在上面一天天的数天数。酒店行业每月都会有几十名新入职和离职员工,一个数一分种,要数一个多小时。
        其实,在excel2010新增的NetWorkDays.INTL函数,正好可以解决这个问题。它就是:
        NetWorkDays.INTL
        (返回两个日期之间的所有工作日数,使用参数指示哪些天是周末,以及有多少天是周末。周末和任何指定为假期的日期不被视为工作日。)
        下面是2015年1月份的工资表局部。
       

        可以帮这位HR妹妹这样设置公式:
        C2=NETWORKDAYS.INTL(IF(B2<DATE(2015,1,1),DATE(2015,1,1),B2),DATE(2015,1,31),11)
        NetWorkDays.INTL函数公式说明
        1、IF(B2<DATE(2015,1,1),DATE(2015,1,1),B2);区分是不是新入职,如果不是新入职按本月1日作为开始日期,否则即为新入职,按实际入职日期算。
        2、DATE(2015,1,31):本月最后一天作为计算的截止日期。
        3、11: 表示本公司是一周六天工作日,星期日是休息日期。
        NetWorkDays.INTL函数语法(来自excel帮助文件)
        NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
        NETWORKDAYS.INTL 函数语法具有以下参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
        1、start_date 和 end_date 必需。要计算其差值的日期。start_date 可以早于或晚于 end_date,也可以与它相同。
        2、weekend 可选。表示介于 start_date 和 end_date 之间但又不包括在所有工作日数中的周末日。weekend 是周末数值或字符串,用于指定周末时间。
        weekend 数值表示以下周末日:
       

        weekend 字符串值为 7 个字符长,该字符串中的每个字符代表一周中的一天,从星期一开始。1 代表非工作日,0 代表工作日。该字符串中只允许使用字符 1 和 0。使用 1111111 将始终返回 0。
        例如,0000011 得到的结果是星期六和星期日为周末。
        3、holidays 可选。一个包含一个或多个日期的可选集合,这些日期将从工作日日历中排除。假期应该是包含日期的单元格区域,也可以是代表这些日期的序列值的数组常量。假期中的日期或序列值的顺序可以是任意的。
        注解
        1、如果 start_date 晚于 end_date,则返回值将为负数,数量将是所有工作日的数量。
        2、如果 start_date 在当前日期基准值的范围之外,则 NETWORKDAYS.INTL 返回错误值 #NUM!。
        3、如果 end_date 在当前日期基准值的范围之外,则 NETWORKDAYS.INTL 返回错误值 #NUM!。
        4、如果 weekend 字符串的长度无效或包含无效字符,则 NETWORKDAYS.INTL 返回错误值 #VALUE!。
               
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-6-2 15:24 , Processed in 0.177811 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表