7

Вот мой сценарий:

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

Итак, вопрос :

Есть ли какая-либо функция, чтобы я мог добавить один месяц к указанной дате, например:

  • ячейка A1: 1/23/2013
  • ячейка A2: 2/23/2013
  • ячейка A3: 3/23/2013

Что не сработало:

По-видимому

A3=$A2+30

производит 3/25/2013 что неправильно.

5 ответов5

10

Поскольку я не нашел ответа здесь, на суперпользователе, я выкладываю свой собственный ответ:

По этой ссылке Excel: добавление / принятие n месяца (ов) к дате.Добавить месяцы в Excel Дата, которую вы должны:

  • Включить аналитический инструментарий
    • File -> Options -> Add-ins -> Manage: Excel Add-ins -> Go

и использовать функцию EDATE(reference_cell, offset_integer) , вот пример:

  • A2 = 2/23/2013
  • A3 = EDATE($A1, 1) -> 3/23/2013

РЕДАКТИРОВАТЬ:

Как отметил Барри Гудини в комментарии, Analysis Toolpak необходим только для Excel 2003 и более ранних версий, поскольку функция EDATE встроена в более поздние версии Excel.

3

У вас есть два возможных подхода, которые я могу придумать. Первый - это дескриптор заполнения:

  1. В ячейку A1 введите 23.01.2013.
  2. В ячейку A2 введите 23.02.2013.
  3. Выделите ячейки А1 и А2.
  4. Наведите указатель мыши на маркер заливки в правом нижнем углу группы выделенных ячеек и перетащите вниз, чтобы получить столько значений, сколько вам нужно.

Второе, как уже обсуждалось, это формулы, но вам нужно учесть декабрь месяц:

=IF(MONTH($A1) = 12, DATE($A1 + 1, 1, DAY($A1)), DATE(YEAR($A1), MONTH($A1) + 1, DAY($A1)))
  1. Если месяц декабрь, создайте новую дату, DATE() , со следующими значениями:
    1. Исходный год увеличен на 1.
    2. Месяц январь
    3. Оригинальный день месяца.
  2. В противном случае создайте новую дату, DATE() , со следующими значениями:
    1. Оригинальный год.
    2. Исходный месяц увеличен на 1.
    3. Оригинальный день месяца.

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

1

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

A1 = 2017/8/6
A2 = =EOMONTH(A1,0)+DAY(A1)

EOMONTH переводит вас в конец месяца (в данном случае 2017/8/31), а формула DAY показывает количество дней с начала месяца (в данном случае 6, поскольку это 6 августа). Добавьте их вместе, и все готово.

Вторая часть EOMONTH определяет, сколько месяцев вперед вы идете, 0 - конец месяца, на который есть ссылка, 1 - конец месяца после указанного месяца и так далее ...

Надеюсь, кто-то найдет это полезным!

0

Я думаю =DATE(YEAR(A1),MONTH(A1)+1,DAY(A1))A2 и скопировано вниз) также работает.

Редактировать Но может упасть на даты после 28-го.

-1

Я смог добавить 30 к дате. Ячейка A1: 23.01.2013 и B1: = A1+30, и она произведена 22.02.2013. Экран Excel

Другой вариант заключается в следующем:

=DATE(YEAR(A1),MONTH(A1)+MONTHSTOADD,DAY(A1))

Где A1 - исходная дата, а MONTHSTOADD - количество месяцев, которое вы хотите добавить.

((Извините, второй вариант, который я добавил, также был добавлен другим пользователем.))

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