【问题标题】:Offset Anniversary Date偏移周年日期
【发布时间】:2023-03-12 10:20:01
【问题描述】:

我在 C2 有一个周年纪念日,而其他周年纪念日是从 E3 到 E6。

如果周年纪念日

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

在这个例子中,如果今天我们是 2018 年 2 月 11 日,那么 C2 值将是 11/02/2019 (E3)。然后,在 11/02/2019 之后,就是 30/03/2020 (E4)...

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

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

但它不起作用......

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

【问题讨论】:

    标签: excel vba excel-formula excel-2016


    【解决方案1】:

    在 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 这样的数字。

    【讨论】:

    • 同样的事情......也许是翻译问题?我讨厌我的法语 Excel...我知道今天是 AUJOURDHUI,MATCH 是 EQUIV...
    • 试试AGREGAT 换成AGGREGATE
    • 我有一个日期:=AGREGAT(15; 7; (E3:INDEX(E:E; EQUIV(1E+99; E:E)))/(E3:INDEX(E :E; EQUIV(1E+99; E:E))>AUJOURDHUI()); 1)。但很难知道它是否有效,因为我无法用 TODAY 功能对其进行测试。我需要等明天看看有没有变化?
    猜你喜欢
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 2023-02-05
    • 2014-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多