ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何按照发放厂服周期和进厂日计算下一次发放日期?

如何按照发放厂服周期和进厂日计算下一次发放日期?

作者:绿色风 分类: 时间:2022-08-17 浏览:98
楼主
gouweicao78
Q:如图,已知职工进公司后发放一次工作服,不同工种工作服使用期限不同,如何计算下一次发放工作服日期?

 

A:在E2单元格输入公式,向下复制:
  1. =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求出当前日期之后最近的一次:
  1. =MIN(IF(EDATE(C2,D2*ROW($1:$60))>=TODAY(),EDATE(C2,D2*ROW($1:$60))))

注意:
1、EDATE函数在2003版需要加载【分析工具库】函数;
2、EDATE函数在2003版不支持数组:

  1. <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总版主之一

评论列表
sitemap