自定义了一个使用比networkdays()函数更加方便的计算工作日的函数workdays(x,y,Optional z)及派生的求n个工作日后日期的函数workdate(x,y,Optional z)(x为起始日,y为工作日数,z为自定义假期. 'z可以输入星期值和/或日期值,可以输入星期范围或任期范围,日期范围可以输入一次性日期段或重复性日期段(如节日) 缺省z表示扣除法定除春节外节日(即1月1日,5月1日~3日,10月1日~3日)及星期六、日 输入格式为,范围以短划线"-"表示,直接输入数字表示星期值,日期分隔符必须为"."且从左至右为年月日顺序排列,如果日期段与星期值重合希望只扣1次则在最后加上字母y作为标识符,否则不加任何字符 举例说明 求2001年1月1日~2006年12月8日时间段扣除星期六、星期日、每年1月1日(节日重复扣)、2005年3月1日-4日(只扣1次)、2005年5月1日~3日(节日重复扣)后的剩余天数可写为以下形式 写法1 =workdays("2001/1/1","2006/12/8",{6,7,"1.1","2005.3.1-4y","2005.5.1-3"}) 写法2 =workdays("2001/1/1","2006/12/8",{"6-7","1.1","2005.3.1-3.4y","2005.5.1-5.3"}) 写法3 =workdays("2001/1/1","2006/12/8",{"6-7","1.1","2005.3.1-2005.3.4y","2005.5.1-2005.5.3"}) 附件为函数加载宏
LCuxLpXW.rar
(18.53 KB, 下载次数: 222)
[此贴子已经被作者于2006-12-11 22:21:33编辑过] |