1

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

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

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

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

1 ответ1

2

Вам повезло, 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", если это произойдет в декабре. Это идет в январе следующего года.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .