excel入职时间当月15号之前的保护期2个月,15号之后的保护期3个月,截止时间当天怎么计算公式?

如题所述

=DATE(YEAR(A1),MONTH(A1)+2+(DAY(A1)>15),DAY(A1))

追问

我是小白,能解释一下公式吗?

追答

我给你拆分出来分别解释。
DATE函数是返回一个日期,
用法模式是=DATE(年,月,日)
例如=DATE(2021,5,12)返回的是日期2021/5/21
YEAR(A1)是从A1的日期中取得年份。
MONTH(A1)是从A1的日期中取得月份。
DAY(A1)是从A1的日期中取得日子。
因此=DATE(YEAR(A1),MONTH(A1),DAY(A1))返回的日期是和A1的日期是一样的。
下面着重解释一下咱们的月份部分:
为什么写成MONTH(A1)+2+(DAY(A1)>15)呢?
答:
首先,用MONTH(A1)取到A1中的月份,
然后,不论是不是15前的还是15号后的,都给他加上2个月,即MONTH(A1)+2
最后,再加上(DAY(A1)>15),这是什么意思呢?这是一个比较运行式,意思是用A1的日子和15比较大小,看是否成立。比较运算式只能返回两种结果,即TRUE或FALSE,就是说如果A1的日子是小于等于15号的,那么DAY(A1)>15是不成立的,所以DAY(A1)>15返回的是FALSE,如果A1的日子是大于15号的,那么DAY(A1)>15是成立的,所以DAY(A1)>15返回的是TRUE。
TRUE在参与运算时,相当于1,FALSE在参与运算时,相当于0。
因此:
MONTH(A1)+2+TRUE,相当于MONTH(A1)+2+1
MONTH(A1)+2+FALSE,相当于MONTH(A1)+2+0
小结:
MONTH(A1)+2+(DAY(A1)>15)在日子小于等于15号时,相当于MONTH(A1)+2+0
MONTH(A1)+2+(DAY(A1)>15)在日子大于15号时,相当于MONTH(A1)+2+1

追问

精辟,感谢答惑

温馨提示:答案为网友推荐,仅供参考