作者:绿色风
分类:
时间:2022-08-17
浏览:98
楼主 gouweicao78 |
Q:如图,已知职工进公司后发放一次工作服,不同工种工作服使用期限不同,如何计算下一次发放工作服日期?
A:在E2单元格输入公式,向下复制:
- =EDATE(C2,CEILING(DATEDIF(C2+1,NOW(),"m")+1,D2))
其中,C2+1及DATEDIF+1,两处+1是修正进司日期为当月1号至当天(即本月已经过去的日期,也就是已经刚刚发放工作服了),多计算1个月之后并利用CEILING向上舍入到D2月数的整倍数,再用EDATE函数求取发放日期。
解法2,使用数组公式(按CTRL+SHIFT+ENTER结束),即使用EDATE生产1~60次发放日期,再用MIN+IF求出当前日期之后最近的一次:
- =MIN(IF(EDATE(C2,D2*ROW($1:$60))>=TODAY(),EDATE(C2,D2*ROW($1:$60))))
注意: 1、EDATE函数在2003版需要加载【分析工具库】函数; 2、EDATE函数在2003版不支持数组:
- <p>=MIN(IF(DATE(YEAR(C2),MONTH(C2)+D2*ROW($1:$60),DAY(C2))>=TODAY(),DATE(YEAR(C2),MONTH(C2)+D2*ROW($1:$60),DAY(C2))))</p>
因此推荐使用CEILING函数方案。
如何按照发放厂服周期和进厂日计算下一次发放日期?.rar |
2楼 天南地北 |
第一个公式计算结果有误!请检查,如进司时间是2012-9-30 工作服使用期限是18个月,今天是2014年3月31日,请验证结果 |
3楼 gouweicao78 |
E date函数的问题,看来第一个+1要放弃了 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一