偏移周年纪念日

时间:2018-10-28 23:49:07

标签: excel vba excel-vba excel-formula excel-2016

我在C2有一个周年纪念日,从E3到E6还有一个周年纪念日。

我想如果周年纪念日<今天然后

C2值是下一个周年纪念日。

Exemple

此例中,如果今天我们是02/11/2018,则C2值将为11/02/2019(E3)。然后,在11/02/2019之后,它将是30/03/2020(E4)...

我想用Excel公式来做,我尝试过这样的事情:

=SI(C2<=TODAY();OFFSET(E3;1;0);C2)

但这不起作用...

也许在VBA中,如果没有人对公式有想法?

1 个答案:

答案 0 :(得分:4)

在C2中尝试

=aggregate(15, 7, (e3:index(e:e, match(1e99, e:e)))/(e3:index(e:e, match(1e99, e:e))>today()), 1)
'with semi-colon list separator
=aggregate(15; 7; (e3:index(e:e; match(1e99; e:e)))/(e3:index(e:e; match(1e99; e:e))>today()); 1)
'aggreagte was introduced with xl2010, for xl2003-xl2007 use,
=MIN(INDEX(E3:INDEX(E:E, MATCH(1E+99, E:E))+(E3:INDEX(E:E, MATCH(1E+99, E:E))<=TODAY())*1E+99, , ))
'in FR-FR
=AGREGAT(15; 7; (e3:index(e:e; EQUIV(1e99; e:e)))/(e3:index(e:e; EQUIV(1e99; e:e))>AUJOURDHUI()); 1)

请记住将C2格式化为日期,否则您可能会以43402这样的数字结尾。