1

Мне нужно добавить 6 месяцев к дате, но если день недоступен, перейдите к первому из следующего месяца.

Пример 31.08.17 плюс 6 месяцев хочет 31 февраля, поэтому желателен 1 марта. Хотите двигаться вперед, а не назад к последнему дню месяца. То же самое для любого месяца, где день не совпадает.

2 ответа2

0

РЕДАКТИРОВАТЬ: ЧТЕНИЕ СБОРА ПРОВЕРКИ - Я не видел запрос на откат ... Оставлю ответ и отредактирую, когда я это выясню, или удаляю, если кто-то меня опередит.

Вы можете усреднить количество дней в месяце и продвинуться по нему, используя что-то вроде:

=A1+((365/12)*6)

В бою:

Thursday, 31 August 2017 -> =A1+((365/12)*6) -> Thursday, 1 March 2018

Тем не менее, это может привести к потере проблемы в другие даты ...


Старый ответ:

Я почти уверен (например, 99%), что вы ищете функцию EDATE .

Вы можете использовать это так:

=EDATE(A1, 6)

Где A1 - ваша базовая дата, а 6 - количество месяцев, которое нужно добавить.

Thursday, 31 August 2017 -> =EDATE(A1, 6) -> Wednesday, 28 February 2018

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

0

Вы можете использовать следующее:

=IF(DAY(EDATE(B2,6))<DAY(B2),EDATE(B2,6)+1,EDATE(B2,6))

Edate(08/31/17,6)=02-28-18
Edate вернется назад к концу месяца, поэтому я проверяю день, чтобы он совпадал с начальной датой, и добавляю 1, чтобы двигаться вперед, если он не совпадает (если меньше)

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