Excel根据开始日期和工期统计结束日期

作者:暴躁小n | 创建时间: 2023-08-07
用 Excel 解决,根据所给的开始日期和项目周期,计算项目结束日期。条件:项目周期内不计算法定节假日、双休日,但是要计算调休。如,项目是在 2017年2月3日开始,项目周期是 20天,那么项目结束日期就是 3月1日(去掉了4个周末,但是2...
Excel根据开始日期和工期统计结束日期

操作方法

建立私人日历表框架,在excel中创建如图表格。

计算日期是否为双休日、法定节假日or调休?具体公式及分析如下: 1)是否双休日,是(休息)=0,否(工作)=1 【公式】IF(OR(WEEKDAY(判断日期)=1,WEEKDAY(判断日期)=7),0,1) 【原理】利用WEEKDAY函数,如果是一周的第一天(周日)或者第七天(周六),则为双休日休息,否则工作;(歪果仁是周日是一周的第一天) 2)是否法定节假,是(休息)=0,否(工作)=1 【公式】IF(IFERROR(VLOOKUP(判断日期,法定节假日数据列,1,0),0)=0,1,0) 【原理】利用VLOOKUP函数,查找判断日期是否在国家规定的法定节假日 3)是否调休,是(工作)=1,否(休息)=0 【公式】IF(IFERROR(VLOOKUP(判断日期,调休日期数据列,1,0),0)=0,0,1) 【原理】利用VLOOKUP函数,查找判断日期是否在国家规定的调休日期

判断当天是工作or休息?判断逻辑如图,简言之,双休就休息,不计入工期,除非是调休;工作日就上班,计入在工期,除非是法定节假日。根据STEP2中计算结果,利用IF函数,判断一天的状态,即是否计入工期。

根据STEP3计算出的结果,筛选出“工作”状态的日期,利用OFFSET函数,计算结束日期。 【公式】OFFSET(“工作”状态日期数据列中第一天,MATCH(开始日期,“工作状态日期数据列”)+工期-1,0) 【原理】工期几天,就是顺着开始日期向后移几天减一。

温馨提示

判断一天工作or休息可以直接用IF函数嵌套,是为了表达简洁分成两步来做
也可以用VBA宏来解决该问题
点击展开全文

更多推荐