16

Это кажется очевидным вопросом.

У меня есть столбец даты, и я хочу создать формулу, чтобы увеличить ее на один месяц для каждого столбца.

10/2013, 11/2013, 12/2013, 1/2014, 2/2014, ...

Как вы добавляете один месяц к дате?

5 ответов5

15
=edate(a1;1)
  • edate возвращает дату, которая является указанным числом месяцев после или до указанной даты.
  • Первый аргумент редакции: дата начала.
  • Второй аргумент редакции: номер месяца. Если отрицательный, edate вычисляет дату раньше.
13

В настоящее время одобренный ответ пропустит короткие месяцы, следующие за длинными

Установите A1 = 2014-01-31. Тогда результат с использованием = DATE(YEAR(A1), MONTH(A1)+1, DAY(A1)) будет 2014-03-03, таким образом пропуская февраль.

Подход EDATE, предложенный выше, теряет дни

Короткие месяцы приводят к тому, что EDATE отбрасывает дни подряд. Например, = EDATE(DATE(2014,1,31), 1) действительно производит 2014-02-28, но его повторное применение приводит к 2014-03-28, а это не последний день марта.

Решение, которое действительно работает: увеличение месяцев с нулевым днем

Установите день на ноль и увеличивайте месяцы, оставаясь на месяц вперед. Например Для начала в январе используйте DATE(2014,2,0) => 2014-01-31, затем DATE(2014,3,0) => 2014-02-28, затем DATE(2014,4,0) -> 2014- 03-31, как и следовало ожидать, логически следуя последнему дню каждого месяца.

Другие подходы

Корректировки могут быть сделаны, если вы хотите, чтобы последний рабочий день месяца, или 30-дневные приращения, не пропуская месяцы и т.д., Зависит от цели.

5

Как указано в ссылке: Дата Арифметика, это добавляет один к месяцу:

=DATE(YEAR(A1), MONTH(A1)+1, DAY(A1))
0

Я думаю, что вам может понадобиться использовать метки, поскольку даты хранятся в виде цифр, которые затем отображаются в выбранном вами формате. Чтобы добавить месяц, вам понадобится сложный расчет, чтобы определить, сколько дней вы проведете в следующем месяце. Надеюсь я ошибаюсь и у кого-то есть ответ.

0

ПОЭТОМУ это решение, которое я использовал, когда имеет значение месяц и год:

A1=DATE(2016,1,1)
A2=EOMONTH(A1,0)+1

Первая строка ячейки, чтобы установить дату начала как объект даты. Следующие ячейки берут предыдущую ячейку, получают конец месяца, затем добавляют день (A2 = 2016/01/31 + 1). Работает как для LibreOffice Calc, так и для электронных таблиц Google.

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