MS EXCEL: Сколько полных месяцев прошло?

Определим, сколько полных месяцев прошло с определенной даты до сегодняшнего дня (или до заданной конечной).

Под выражением "прошел полный месяц" в этой статье будем понимать, что добавив к начальной дате месяц, получившаяся дата будет меньше или равна конечной дате (между 25.05.2015 и 26.06.2015 полный месяц прошел, а между 25.05.2015 и 24.06.2015 - не прошел).

Для вычисления длительностей интервалов дат удобней всего использовать недокументированную функцию РАЗНДАТ(). Этой функции нет в справке EXCEL2007 и в Мастере функций (SHIFT+F3), но она работает.

Если в ячейке В2 содержится сегодняшняя дата, а в А2 –дата начала отсчета, то формула (см. файл примера):
=РАЗНДАТ(A2;B2;"m")&"мес."

рассчитает сколько полных месяцев прошло с конкретной даты. Типичный результат будет выглядеть так: 25 мес.

Чтобы результат выглядел как 25 месяцев, то необходимо воспользоваться идеями из статьи Склоняем правильно число месяцев и дней (1 месяц, 2 месяца, 10 месяцев).

Обратите внимание, что в формуле считается, что между 01.03.2015 и 31.03.2015 полный месяц не прошел.

Прошло полных календарных месяцев

Подсчитать количество полных календарных месяцев. Например, основное средство принято в эксплуатацию 14 февраля 2015 г., отчёт по данному ОС готовится по состоянию на 22 августа 2015 г. Количество амортизируемых месяцев - 5 (март, апрель, май, июнь, июль). Если применить РАЗНДАТ(), то результат будет - 6, что не правильно, так как требуется подсчитать не полные месяцы, а полные календарные месяцы (месяцы, которые прошли с 1 по последний день). 

В этом случае нужно использовать формулу =РАЗНДАТ(КОНМЕСЯЦА(A6;0)+1;КОНМЕСЯЦА(B6;-1)+1;"m")

Формула сначала находит первый день месяца, следующего за начальной датой, и первый день месяца конечной даты, затем используется РАЗНДАТ().

Обратите внимание, что в формуле считается, что между 01.03.2015 и 30.04.2015 ни одного полного календарного месяца не прошло.

Примечание. В статье Расчет страхового (трудового) стажа в MS EXCEL приведен расчет стажа в годах, месяцах и днях.

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 3.5 (4 оценок)

Комментарии

MCH

Еще вариант:
=ОТБР(ДНЕЙ360(A2;B2)/30)&" мес."

Creator

Функция ДНЕЙ360() не последовательна: между датами 31.03.2014 и 30.04.2014 считается, что 1 месяц прошел (последние дни месяца), а между датами 30.03.2014 и 29.04.2014 считается, что 1 месяц не прошел. Между датами 01.03.2014 и 31.03.2014 (последний день месяца) прошел 1 месяц, а между 01.03.2014 и 30.04.2014 (последний день месяца) - также 1 месяц.

MCH

Алгоритм расчета дней функции ДНЕЙ360 описан в справке. Для нее является существенным как относится к последнему дню месяца.
С функцией РАЗНДАТ тоже не все однозначно: РАЗНДАТ("31.03.2015";"30.04.2015";"m") = 0, а по идее прошел полный месяц

Creator

Михаил, прошу рассматривать мой предыдущий комментарий не в плане критики, а конструктивном ключе. У ДНЕЙ360() имеются особенности вычисления сроков, как и у РАЗНДАТ(). Моя задача не только подсказать пользователю решение/формулу, но и дать пояснения: рассказать об особенностях применения и недостатках-достоинствах подхода. Написать только формулу - не достаточно.

MCH

Обе функции (ДНЕЙ360 и РАЗНДАТ) имеют свои особенности, которые нужно учитывать.
Для правильного расчета (который устраивает) количества полных лет/месяцев/дней, лучше всего взять стандартизированную методику данного расчета.
Если встроенные функции Excel не позволяют учесть все необходимые нюансы, то приходится писать свои формулы.

Яндекс.Метрика