一旦特定日期過去,如何為該日期添加 1 個月?

一旦特定日期過去,如何為該日期添加 1 個月?

我有一張 Excel 表格,其中列出了我們當前的截止日期。截止日期是每個月的同一天(9/2、10/2 等),我希望在舊日期過去後更新截止日期,這樣我就不必手動執行此操作或為每個日期有一列月。我確信有一個公式可以做到這一點,但沒有任何效果。

圖中的公式是我現在所擁有的,我不確定為什麼它不起作用 - 儘管即使如此,我認為在 12 月到期日過後我們也會遇到問題。有任何想法嗎?

尋找非 VBA 解決方案。

到期日電子表格

答案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」月。時間要到明年一月。

相關內容