Excel公式求助:已知起始日期和自然日天数得出天数后的日期,如日期是周末需提前到最近的工作日日期?

已知B列是起始日期,需要客户在12个自然日后提交请求(结果需在A列显示),如12个自然日后得出的日期是周末,则需要提前到最近的工作日,请问如何列出公式,谢谢

“excel已知开始日期和年限,算结束日期”的处理步骤是:

1、打开Excel工作表;

2、设置C列的单元格格式为“日期”,在C2单元格输入以下公式,然后向下填充公式

=EDATE(A2,2*12)

公式表示:以A2单元格为基准,计算并返回2*12个月后的结束时间

3、或者输入以下公式,然后向下填充公式

=A2+B2*365

公式表示:将A2单元格加上B2单元格的年限,并乘以公历的年天数365,当一年不是365天时,结束时间需要处理;

4、或者输入以下公式,然后向下填充公式

=DATE(YEAR(A2)+2,MONTH(A2),DAY(A2))

公式表示:以A2单元格的年数加上2,其他月和日均保持原来的数据,然后转换为日期格式。

追问

谢谢你的帮忙,但我需要用公式在12个自然日后自动避开周末,而且12个自然日后无论是周六还是周日,都提前至周五

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-09-18
假设B列为EXCEL可识别的日期
在A2中输入或复制粘贴下列公式之一

=IF(WEEKDAY(B2+12,2)=6,B2+11,IF(WEEKDAY(B2+12,2)=7,B2+10,B2+12))
=B2+IF(WEEKDAY(B2+12,2)=6,11,IF(WEEKDAY(B2+12,2)=7,10,12))
=B2+LOOKUP(WEEKDAY(B2+12,2),{1,6,7},{12,11,10})
=B2+LOOKUP(WEEKDAY(B2+12,2),{1,6,7;12,11,10})
下拉填充本回答被网友采纳
第2个回答  2021-09-17

第一步:判断12个自然日之后是周六就前移到周五,是周日就后移到周一,否则就是本身,

具体公式为:=IF(WEEKDAY(B2+12,2)=6,B2+11,IF(WEEKDAY(B2+12,2)=7,B2+13,B2+12))

如有疑问可以继续交流!

追问

你好,谢谢你的帮忙,但如果12个自然日后无论是周六或者周日,都只能提前到周五,这个公式应该怎么设定呢?

追答

那更简单了。

把公式最后的B12+12改为B12+10就可以了。问题解决了,请给个认可。谢谢!!

第3个回答  2021-12-18

如图,用WEEKDAY函数和WORKDAY函数打配合,即可得到想要的结果,公式为

=IF(WEEKDAY(A2+12,11)>5,WORKDAY(A2+12,-1),A2+12)

原理如上。对于你的截图及要求,原日期为B2开始,则A2列公式可改为

=IF(WEEKDAY(B2+12,11)>5,WORKDAY(B2+12,-1),B2+12)

相似回答