Как добавить 1 месяц к определенной дате, когда эта дата прошла?

369
J. Muller

У меня есть лист Excel, в котором перечислены наши текущие сроки. Даты выполнения - один и тот же день каждого месяца (9/2, 10/2 и т. Д.), И я хочу, чтобы срок выполнения обновлялся по истечении старой даты, поэтому мне не нужно делать это вручную или иметь столбец для каждого месяц. Я уверен, что есть формула для этого, но ничего не работает.

Изображенная формула - это то, что у меня есть сейчас, и я не уверен, почему она не работает - хотя даже с этим, я думаю, у нас будут проблемы после того, как истечет срок в декабре. Есть идеи?

Ищете не VBA решение.

Таблица сроков исполнения

1

1 ответ на вопрос

2
fixer1234

Вам повезло, VBA не требуется. На самом деле, есть еще более простой подход, который не требует теста IF:

=DATE(YEAR(NOW()),MONTH(NOW())+(DAY(NOW())>2),2) 

Я жестко запрограммировал 2-й день месяца, основываясь на вопросе, но его можно было извлечь из ячейки или извлечь из первоначальной даты родов.

Вместо того, чтобы проверять, прошли ли вы целевой день месяца, здесь используется тот факт, что TRUE и FALSE рассматриваются как 1 и 0 соответственно. (DAY(NOW())>2)будет либо истинным, либо ложным, поэтому будет восприниматься так, как 1если бы вы прошли 2-й день месяца или 0не прошли. Если вы прошли этот день, он прибавляется 1к месяцу.

Excel достаточно умен, чтобы справиться с месяцем «13», если это произойдет в декабре. Это идет в январе следующего года.

Очень умно! +1 Bandersnatch 6 лет назад 0

Похожие вопросы