答案1
您很幸运,不需要 VBA。事实上,还有一种更简单的方法,不需要 IF 测试:
=DATE(YEAR(NOW()),MONTH(NOW())+(DAY(NOW())>2),2)
根据问题,我对该月的第二天进行了硬编码,但可以从单元格中检索或从原始截止日期中提取。
这与测试您是否已经过了当月的目标日期不同,而是利用了 TRUE 和 FALSE 分别被视为 1 和 0 的事实。 (DAY(NOW())>2)
将为真或假,因此它将被视为1
您是否已经过了当月的第二天,或者0
您是否还没有过了。如果您已经过了那一天,它将添加1
到月份中。
如果这种情况发生在 12 月,Excel 会非常智能地处理月份“13”。它会转到下一年 1 月。