从十二月到一月大约一年
我有下面的公式来确定是否有人的生日在下周内出现。
= IF(AND(Q2>(TODAY()+ 4),Q2 <(TODAY()+ 12)), “是”, “否”)
*注意:Q2是该人的生日,但在2016年(即12/20/1978实际上是12/20/2016)
这个工作,除了当我大概到12月中下旬,因为下一周将溢出到明年。 我怎样才能得到下一个星期的范围(即从2016年12月到2017年1月)呢?
你可以用当年的公式来表示当年的date
=date(2016,month(q2),day(q2))
考虑到date加上几天可以在明年,你可以使用
=date(year(today()+ajustment),month(q2),day(q2))
你的整个公式如下所示:
=IF(AND(DATE(YEAR(TODAY()+4),MONTH(Q13),DAY(Q13))>(TODAY()+4),DATE(YEAR(TODAY()+12),MONTH(Q13),DAY(Q13))<(TODAY()+12)),"Yes","No")
现在这个公式也适用于新年的date。
您可以使用DATEDIF获取两个date之间在指定的年份,月份或天数方面的差异。 例如:
= DATEDIF(“start_date”,“end_date”,“d”)
= DATEDIF(“1/11/2011”,“10/11/2011”,“d”)结果:9
刮:
Q3 = DATEDIF(今天,生日,“d”)
= IF(AND(Q3> 4,Q3 <12), “是”, “否”)
所以你可以在你的IF语句中使用DateDiff来在接下来的日子里进行生日评估。 值得注意的是,你没有得到这样一个公式的下周的周年纪念,只是得到那些生日之间发生在今天的4天之间,距离今天不到12天。
问题是,你的解决scheme是依赖于年份,当你只应该在月份和date进行筛选。 这可以通过使用TEXT(…)函数来完成。
例如: =VALUE(TEXT(I2,"mm"))
将作为一个数字返回该月份。 这是接近你要找的东西吗?
下面是使用这种方法的解决scheme:
=IF(AND(VALUE(TEXT(G2,"mm"))=VALUE(TEXT(TODAY(),"mm")),VALUE(TEXT(G2,"dd"))>(VALUE(TEXT(TODAY(),"dd"))+1),VALUE(TEXT(G2,"dd"))<(VALUE(TEXT(TODAY(),"dd"))+12)),"Yes","No")
此外,这个解决scheme是独立于年的,所以你可以使用某人的实际生日,而不必每次都改变一年。