Формула для расчета сколько прошло лет и месяцев с даты в Excel
Иногда в Excel необходимо посчитать количество лет и месяцев между двумя датами. Например, от 23 ноября 1960-го года и до 13 мая 2014г. прошло 53 года и 5 месяцев.
Как узнать сколько прошло лет и месяцев с даты в Excel?
Формулу, которую можно использовать для определения в годах и месяцах пройденного времени между двумя датами требует к использованию 2 функции и пару текстовых строк. Ячейка C2 содержит следующую формулу как показано на рисунке:

Примечание: в ячейке C9 ошибка: #ЧИСЛО! так как начальная дата младше конечной, что по определению функции РАЗНДАТ не верно. Значение в первом аргументе функции должно быть всегда меньше значения во втором аргументе.
Необходимое вычисление реализуется с помощью одной и той же функции РАЗНДАТ только с разными значениями в третьем аргументе. Поэтому функцию необходимо вызывать 2 раза. Кроме того, для удобочитаемости следует добавить в формулу текстовые символы, которые присоединены символом амперсантом «&».
Первая функция РАЗНДАТ в формуле содержит код лет как единицу измерения времени и вычисляет сколько прошло лет между двумя датами: начальной и конечной.
Вторая функция РАЗНДАТ в формуле содержит в своем третьем аргументе код «YM». Благодаря чему вычисляет количество пройденных месяцев в неполном году без учета полных пройденных лет между этими же двумя датами.
И наконец обе функции в формуле объединены строками с текстовым описанием, чтобы пользователь мог наглядно и легко прочитать какое число — это года, а какое – месяцы. Так как результат вычисления формулой двух числовых значений находятся в одной ячейке.
- Excel Formula Examples
- Создать таблицу
- Форматирование
- Функции Excel
- Формулы и диапазоны
- Фильтр и сортировка
- Диаграммы и графики
- Сводные таблицы
- Печать документов
- Базы данных и XML
- Возможности Excel
- Настройки параметры
- Уроки Excel
- Макросы VBA
- Скачать примеры
Пример функции РАЗНДАТ для расчета времени между датами в Excel
Функция РАЗНДАТ позволяет выяснить, сколько полных дней, месяцев или лет прошло между двумя указанными датами. Таким образом можно легко посчитать в Excel: возраст от даты рождения, трудовой стаж, сроки беременности и др. Примеры расчетов точных сроков, возрастов и продолжительности до окончания периодов времени с помощью функции РАЗНДАТ. Как правильно считать разницу между двумя датами при 365 и 366 днях в году?
Примеры использования функции РАЗНДАТ
Пример 1. Требуется вычислить, зная дату рождения работника, сколько полных лет, месяцев и дней ему исполнилось на момент сегодняшней даты.

Используя в качестве аргументов саму дату рождения и функцию СЕГОДНЯ(), а также значения «Y», «M» и «D» для единицы, получим следующий набор формул:

Таким образом мы получили точный возраст в годах, месяцах и днях от даты рождения.
Как точно посчитать сколько прошло времени: лет, месяцев и дней?
Пример 2. В документе записаны даты рождения сотрудников. Требуется выяснить, сколько лет, месяцев и дней исполнилось каждому из них на момент сегодняшнего дня.

Используя уже знакомую формулу =РАЗНДАТ(B2;СЕГОДНЯ();»Y») для ячейки С2 получим количество полных лет возраста каждого из работников. Протянем эту формулу на весь столбец ниже.

Модифицировав формулу, использованную выше, заменяем значение единицы с «Y» на «YM». Итоговый вид формулы: =РАЗНДАТ(B2;СЕГОДНЯ();»YM»). Таким образом, мы получим на выходе количество полных месяцев возраста, не учитывая прошедшие полные года. Протянем формулу на весь столбец ниже.

В конце нам понадобятся и дни, не вошедшие в месяц. Снова заменяем значение единицы с «YM» на «YD» и получим формулу следующего вида, в которой на выходе будет число дней: =РАЗНДАТ(B2;СЕГОДНЯ();»YD»).

Такое решение можно элегантно улучшить, если использовать функцию СПЕЦПИТЬ() и вызвать окошко аргументов, приведя функцию в следующий вид: =СЦЕПИТЬ(C2;» лет «;D2;» месяцев «;E2;» дня(-ей)»)

Как посчитать сроки окончания действия договора в Excel
Пример 3. В документе записаны даты заключения договоров сотрудников компании. По умолчанию договор заключается на 1 год. Требуется выяснить, сколько дней осталось до момента окончания трудового договора у каждого из сотрудников, чтобы подготовить новые экземпляры для продления договоров.

С помощью функции РАЗНДАТ определим, сколько дней прошло с момента заключения трудового договора. В новом столбце для ячейки С2 используем формулу: =РАЗНДАТ(B2;СЕГОДНЯ();»d») и протянем ее на весь столбец ниже.

Подсчитаем количество оставшихся дней до окончания трудового договора каждого из сотрудников. Для этого в новом столбце вычитаем от количества дней в году значения из столбца С, используя формулу:

Сначала мы определяем количество дней во году по дате (365 или 366) по формуле ЕСЛИ(ОСТАТ(ГОД(B2);4);365;366), а после вычитаем, чтобы узнать сколько осталось -C2.
Для удобства можно добавить еще одну колонку, в которой с помощью условий указать замечание для продления договора, если осталось меньше 10 дней до его окончания. Для ячейки E2 используем формулу:

10;»Действует»;ЕСЛИ(D2
В данной формуле используется функция ЕСЛИ с несколькими условиями. Если до конца срока больше 10-ти суток тогда формула возвращает значение «Действует», а если меньше 10-то тогда одно из условий:
- Если меньше 10-ти суток, но больше чем 0 – значение «Заканчивается».
- Если меньше чем 0, тогда «Просрочен».
Особенности использования функции РАЗНДАТ
- — нач_дата : дата, от которой будет вестись расчет;
- — кон_дата : дата, до которой будет вестись расчет;
- — единица : аргумент, указывающий на величину, в которой будет производиться расчет.
Примечание: аргументы нач_дата и кон_дата могут принимать как числовое значение, так и быть результатом какого-либо вычисления, производимого вне ячеек (например, функции ДАТА(), функции СЕГОДНЯ()).
Примечание: аргумент единица может принимать одно из шести значений:
- — «Y»: в результате подсчетов будет выведено количество полных лет между начальными аргументами;
- — “M”: в результате подсчетов будет выведено количество полных месяцев между начальными аргументами;
- — «D»: в результате подсчетов будет выведено количество полных дней между начальными аргументами;
- — «MD»: в результате подсчетов будет выведено количество дней между датами, не учитывая месяца, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2018 года и 21 ноября 2018 года (что составляет 2 месяца и 20 дней) со значением “MD” будет возвращено значение 20, т.к. прошедшие 2 полных месяца не будут учтены;
- — «YM»: в результате подсчетов будет выведено количество месяцев между датами, не учитывая года, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2010 года и 1 ноября 2018 года (что составляет 8 лет и 2 месяца) со значением “YM” будет возвращено значение 2, т.к. прошедшие 8 полных лет не будут учтены;
- — «YD «: в результате подсчетов будет выведено количество суток между датами, не учитывая года, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2010 года и 2 сентября 2018 года (что составляет 8 лет и 1 день) со значением “YD” будет возвращено значение 1, т.к. прошедшие 8 полных лет не будут учтены.
- Excel Formula Examples
- Создать таблицу
- Форматирование
- Функции Excel
- Формулы и диапазоны
- Фильтр и сортировка
- Диаграммы и графики
- Сводные таблицы
- Печать документов
- Базы данных и XML
- Возможности Excel
- Настройки параметры
- Уроки Excel
- Макросы VBA
- Скачать примеры
Вычисление разности двух дат
Используйте функцию РАЗНДАТ, если нужно вычислить разницу двух дат. Сначала поместите дату начала в одну ячейку, а дату окончания — в другую. Затем введите формулу, например одну из следующих.
Предупреждение: Если значение нач_дата больше значения кон_дата, возникнет ошибка #ЧИСЛО!
Разница в днях

В этом примере дата начала находится в ячейке D9, а дата окончания — в ячейке E9. Формула находится в ячейке F9. Параметр «д» возвращает количество полных дней между двумя датами.
Разница в неделях

В этом примере дата начала находится в ячейке D13, а дата окончания — в ячейке E13. Параметр «д» возвращает количество дней. Но обратите внимание на /7 в конце. Это делит количество дней на 7, так как в неделе содержится 7 дней. Обратите внимание, что этот результат также должен быть представлен в числовом формате. Нажмите клавиши CTRL+1. Затем щелкните Числовой > Число десятичных знаков: 2.
Разница в месяцах

В этом примере дата начала находится в ячейке D5, а дата окончания — в ячейке E5. В формуле «м» возвращает количество полных месяцев между двумя днями.
Разница в годах

В этом примере дата начала находится в ячейке D2, а дата окончания — в ячейке E2. Параметр «г» возвращает количество полных лет между двумя днями.
Расчет возраста в накопленных годах, месяцах и днях
Вы также можете вычислить возраст или время работы другого человека. Результат может выглядеть так: «2 года, 4 месяца, 5 дней».
1. Используйте функцию РАЗНДАТ, чтобы найти общее количество лет.

В этом примере дата начала находится в ячейке D17, а дата окончания — в ячейке E17. В формуле параметр «г» возвращает количество полных лет между двумя днями.
2. Снова используйте функцию РАЗНДАТ с «гм», чтобы найти месяцы.

В другой ячейке используйте функцию РАЗНДАТ с параметром «гм». Параметр «гм» возвращает количество оставшихся месяцев с последнего полного года.
3. Используйте другую формулу для поиска дней.

Теперь нужно найти количество оставшихся дней. Для этого мы напишем формулу другого типа, показанную выше. Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.
Предупреждение: Не рекомендуется использовать аргумент «мд» функции РАЗНДАТ, так как он может вычислять неточные результаты.
4. Необязательно: объединение трех формул в одну.

Все три вычисления можно поместить в одну ячейку, как в этом примере. Используйте амперсанды, кавычки и текст. Эту формулу дольше вводить, но она содержит в себе все вычисления. Совет. Нажмите клавиши ALT+ВВОД, чтобы ввести разрывы строк в формулу. Это упрощает чтение. Кроме того, если вы не видите всю формулу, нажмите клавиши CTRL+SHIFT+U.
Скачивание примеров
Вы можете скачать образец книги со всеми примерами из этой статьи. Вы можете воспользоваться ими или создать собственные формулы.
Другие вычисления даты и времени
Вычисление разницы между сегодняшней и другой датой
Как показано выше, функция РАЗНДАТ вычисляет разницу между датой начала и датой окончания. Однако вместо ввода определенных дат в формуле можно также использовать функцию СЕГОДНЯ(). При использовании функции СЕГОДНЯ() Excel в качестве даты использует текущую дату компьютера. Имейте в виду, что эта переменная будет меняться при повторном открыть файле в будущем.

Обратите внимание, эта статья была написана 6 октября 2016 г.
Вычисление рабочих дней с праздниками или без них
Используйте функцию ЧИСТРАБДНИ.МЕЖД, если нужно вычислить количество рабочих дней между двумя датами. Вы также можете исключить выходные и праздники.
Прежде чем начать. Решите, нужно ли исключить даты праздников. При исключении введите список дат праздников в отдельной области или на отдельном листе. Поместите каждую дату праздника в собственную ячейку. Затем выделите эти ячейки и нажмите Формулы > Задать имя. Назовите диапазон МоиПраздники и нажмите ОК. Затем создайте формулу с помощью указанных ниже действий.
1. Введите дату начала и окончания.

В этом примере дата начала находится в ячейке D53, а дата окончания — в ячейке E53.
2. В другой ячейке введите формулу следующего вида.

Введите формулу, как в примере выше. Цифра 1 в формуле устанавливает субботы и воскресенья в качестве выходных и исключает их из общего количества.
Примечание. В Excel 2007 нет функции ЧИСТРАБДНИ.МЕЖД. Однако там есть функция ЧИСТРАБДНИ. Указанный выше пример будет выглядеть в Excel 2007 следующим образом: =ЧИСТРАБДНИ(D53;E53). Не нужно указывать цифру 1, так как функция ЧИСТРАБДНИ предполагает, что выходными являются суббота и воскресенье.
3. При необходимости измените цифру 1.

Если суббота и воскресенье не являются выходными днями, измените 1 на другое числовое значение из списка IntelliSense. Например, значение 2 устанавливает воскресенья и понедельники в качестве выходных дней.
Если вы используете Excel 2007, пропустите этот шаг. Функция ЧИСТРАБДНИ в Excel 2007 всегда предполагает, что выходными являются суббота и воскресенье.
4. Введите имя диапазона праздников.

Если вы создали имя диапазона праздников в разделе «Прежде чем начать» выше, введите его в конце следующим образом. Если у вас нет праздников, вы можете не использовать точку с запятой и МоиПраздники. Если вы используете Excel 2007, указанный выше пример будет выглядеть так: =ЧИСТРАБДНИ(D53;E53;MyHolidays).
Совет. Если вы не хотите указывать имя диапазона праздников, вместо этого вы можете ввести диапазон, например D35:E39. Или можно ввести в формулу каждый праздник. Например, если ваши праздники приходились на 1 и 2 января 2016 г., введите их следующим образом: =ЧИСТРАБДНИ.МЕЖД(D53;E53;1;). В Excel 2007 это будет выглядеть так: =ЧИСТРАБДНИ(D53;E53;)
Расчет затраченного времени
Вы можете вычислить затраченное время, вычитая одно время из другого. Сначала поместите время начала в одну ячейку, а время окончания — в другую. Вводите время полностью, включая час, минуты и пробел перед AM или PM. Ниже рассказывается, как это сделать.
1. Введите время начала и время окончания.

В этом примере время начала находится в ячейке D80, а время окончания — в ячейке E80. Введите час, минуты и пробел перед AM или PM.
2. Установите формат «ч:мм AM/PM».


Выберите обе даты и нажмите клавиши CTRL+1 (или +1 на компьютере Mac). Выберите вариант (все форматы) > ч:мм AM/PM, если он еще не установлен.
3. Вычтите два времени.

В другой ячейке вычтите ячейку времени начала из ячейки времени окончания.
4. Установите формат «ч:мм».


Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите (все форматы) > ч:мм, чтобы результат не содержал AM и PM.
Расчет затраченного времени между двумя датами со временем
Чтобы вычислить время между двумя датами со временем, можно просто вычесть одно значение из другого. Однако необходимо применить форматирование к каждой ячейке, чтобы Excel возвращал нужный результат.
1. Введите две полные даты со временем.

В одной ячейке введите полную дату и время начала. А в другой ячейке введите полную дату и время окончания. Каждая ячейка должна содержать месяц, день, год, час, минуты, и пробел перед AM или PM.
2. Установите формат «14.03.12 1:30 PM».


Выберите обе ячейки и нажмите клавиши CTRL+1 (или +1 на компьютере Mac). Затем выберите Дата > 14.03.12 1:30 PM. Это не дата, которую вы установили, а просто пример того, как будет выглядеть формат. Обратите внимание, что в версиях до Excel 2016 этот формат может использовать другой пример даты, например 14.03.01 1:30 PM.
3. Вычтите два значения.

В другой ячейке вычтите ячейку даты и времени начала из даты и времени окончания. Скорее всего, результат будет выглядеть как число с десятичным знаком. Вы исправите это на следующем шаге.
4. Установите формат «[ч]:мм».


Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите пункт (все форматы). В поле Тип введите [ч]:мм.
Как посчитать количество месяцев между датами в excel
Добрый день! Подскажите, как посчитать формулой сколько месяцев включено в интервал дат. Например:
01.08.2011-17.11.2011 — август, сентябрь, октябрь, ноябрь, т.е. 4 месяца
31.12.2011-06.02.2012 — декабрь, январь, февраль, т.е. 3 месяца
Пользователь
Сообщений: 8196 Регистрация: 21.12.2012
24.05.2012 11:56:24
«..Сладку ягоду рвали вместе, горьку ягоду я одна.»
Пользователь
Сообщений: 469 Регистрация: 05.01.2013
24.05.2012 12:05:25
=МЕСЯЦ(ПСТР(A1;12;10))-МЕСЯЦ(ПСТР(A1;1;10))+(ГОД(ПСТР(A1;12;10))-ГОД(ПСТР(A1;1;10)))*12+1
Пользователь
Сообщений: 3906 Регистрация: 22.12.2012
24.05.2012 12:17:34
Интервал указан в одной ячейке, как текст «01.08.2011-17.11.2011»?
=РАЗНДАТ(ПСТР(A1;4;7);ПСТР(A1;15;7);»m»)+1
=ДНЕЙ360(ПСТР(A1;4;7);ПСТР(A1;15;7))/30+1
Если в разных (в А1 начальная дата, в В2 — конечная):
=ДНЕЙ360(ДАТА(ГОД(A1);МЕСЯЦ(A1);1);ДАТА(ГОД(B1);МЕСЯЦ(B1)+1;1))/30
24.05.2012 13:54:54
Если в разных ячейках, то вот ещё вариант:
=ЕСЛИ(ГОД(B2)=ГОД(A2);МЕСЯЦ(B2)-МЕСЯЦ(A2)+1;МЕСЯЦ(B2)+1+12*(ГОД(B2)-ГОД(A2))-МЕСЯЦ(A2))
если А2 начальная дата, а B2 — конечная
Страницы: 1
Читают тему
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |