Вычисление возраста или стажа

Для вычислений длительностей интервалов дат в Excel есть функция РАЗНДАТ(), в английской версии - DATEDIF().

Нюанс в том, что Вы не найдете эту функцию в списке Мастера функций, нажав кнопку fx - она является недокументированной возможностью Excel. Точнее говоря, найти описание этой функции и ее аргументов можно только в полной версии англоязычной справки, поскольку на самом деле она оставлена для совместимости со старыми версиями Excel и Lotus 1-2-3. Однако, несмотря на то, что эту функцию не получится вставить стандартным способом через окно Вставка - Функция (Insert - Function), ее можно вручную вписать в ячейку с клавиатуры - и она сработает!

Синтаксис функции следующий:

РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)

Самый интересный аргумент, конечно, последний. Он определяет, каким именно образом и в каких единицах будет измеряться интервал между начальной и конечной датами. Этот параметр может принимать следующие значения:

"y" разница в полных годах   
"m" в полных месяцах
"d" в полных днях
"yd" разница в днях с начала года без учета лет
"md" разница в днях без учета месяцев и лет
"ym" разница в полных месяцах без учета лет

Т.е. при желании подсчитать и вывести, например, ваш стаж в виде "3 г. 4 мес. 12 дн.", необходимо ввести в ячейку следующую формулу:

=РАЗНДАТ(A1;A2;"y")&" г. "&РАЗНДАТ(A1;A2;"ym")&" мес. "&РАЗНДАТ(A1;A2;"md")&" дн."

или в английской версии Excel:

=DATEDIF(A1;A2;"y")&" y. "&DATEDIF(A1;A2;"ym")&" m. "&DATEDIF(A1;A2;"md")&" d."

где А1 - ячейка с датой поступления на работу, А2 - с датой увольнения.

Ссылки по теме


25.03.2013 20:47:43
Здравствуйте. Подскажите, как нужно считать стаж работы в этом случае:
с 01.09.2004г.
по 01.03.2006г.
с 14.03.2006г.
по 01.08.2006г.
с 17.08.2006г.
по 05.09.2011г.
с 05.12.2011
по 02.07.2012г.
Т.е. как учитывать разрывы? и второе, как посчитать, например не все, а пару-тройку "промежутков"?
16.04.2013 00:41:08
Дата ухода - Дата прихода по каждому рабочему месту отдельно. Потом все сложить. Посмотрите видео тут - будет понятнее.
26.08.2013 04:56:32
Николай, здравствуйте. Подскажите пожалйста следующий момент. Стаж работы по каждому месту работы в днях я подсчитал и просуммировал. допустим получилось 4231. Как сделать так чтобы представление количества полученных дней было в виде "3 г. 4 мес. 12 дн." - как в вашем примере. Т.е. как таковой разницы дат нет - есть полученное количество дней.
Спасибо.
28.08.2013 08:50:39
Тогда встречный вопрос - сколько дней в месяц будем брать? 30?
01.09.2013 09:42:10
Если подсчитанное количество дней стажа в А1, то:
A2=ЦЕЛОЕ(A1/365) - количество лет
A3=ЦЕЛОЕ(ОСТАТ(A1;365)/30,5) - количество месяцев
A4=A1-A2*365-A3*30,5 - количество дней

Как-то так...
02.09.2013 08:06:19
Спасибо!
08.09.2013 13:15:24
Здравствуйте!
Подскажите пожалуйста, как быть если необходимость подсчитать количество полных календарных месяцев. Например, основное средство принято в эксплуатацию 14 января 2013 г., отчёт по данному ОС готовится по состоянию на 27 августа 2013 г. Количество амортизируемых месяцев - 6 (февраль, март, апрель, май, июнь, июль). Если применить РАЗНДАТ используя способ измерения "ym", то результат будет - 7, что в данном случае не прав-но, так как требуется подсчитать не полные месяцы, а полные календарные месяцы. Как быть?
Спасибо за помощь.
13.09.2013 23:22:43
Леонид, если в А1 лежит дата приема в эксплуатацию, а в А2 - дата, на которую готовится отчет, то количество полных месяцев можно посчитать просто как =МЕСЯЦ(A2)-МЕСЯЦ(A1)
15.09.2013 09:45:33
Николай, спасибо за подсказку. В моём случае, дополнительно к приведённой формуле, пришлось применить поправочную константу "-1". Формула приняла вид =(МЕСЯЦ(A2)-МЕСЯЦ(A1))-1.

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

Ещё раз спасибо.
16.09.2013 00:08:59
Если даты из разных лет, то можно =ЦЕЛОЕ((A2-A1)/30,5)-1
18.09.2013 11:11:10
Спасибо за подсказку.
25.09.2013 21:55:59
Николая доброго времени суток. Вопрос в следующем для учета дней отпуска необходимо что бы после 1 год 2 мес и 15 (и более) дн таблица давала значение 1год и 3 месяца, в случае если менее 15 календарных дней то 1 год и 2 месяца. Заранее спасибо за ответ.
28.10.2013 16:39:36
Николай! Аллилуйа! у меня заработало
=РАЗНДАТ(СЕГОДНЯ();C3;"y")&" г. "&РАЗНДАТ(СЕГОДНЯ();C3;"ym")&" мес. "&РАЗНДАТ(СЕГОДНЯ();C3;"md")&" дн.", это для списка задач.
А как теперь к этой красоте приделать условное форматирование? чтобы, допустим, меньше двух недель осталось - красный, от двух недель до месяца желтый, больше месяца до шести зеленый, больше шести синий? заранее спасибо!
22.02.2014 09:44:29
22.02.2014 17:24:38
Николай, добрый день! Помогите пожалуйста.Есть два столбца: в одном фамилия сотрудника, в другом уже посчитанный медицинский стаж работы, уже в виде, допустим 22г. 2м. 13д. Хотелось бы, чтобы в третьем столбце можно было считать стаж на каждый месяц, учитывая, что по истечении 30 дней они переводятся в месяц, соответственно 12 месяцев добавляют к годам. Функцию РАЗНДАТ не использую, так как для 500 сотрудников трудоёмко вводить отдельно года их работы, тем более у многих идет прерывный стаж, поэт.сразу же на первое января 2014 года стаж посчитан и введен в столбцы. Заранее спасибо.
16.04.2014 14:07:55
Доброго времени суток! Подскажите как написать формулу по следующим критериям: расчет количества дней между двумя датами, при условии что полный календарный месяц, входящий в разницу между датами, должен считаться как 30 дней?
Заранее спасибо!
15.05.2014 14:05:59
Добрый день!

Нужна помощь специалистов.
Имею время начала операции и время окончания операции в следующем формате.
Нужно рассчитать время выполнения операции в часах.
Вр. созданияВр. решенияДлит.выполнения
10.02.2014 16:3510.02.2014 16:54
10.02.2014 16:5611.02.2014 09:18
Как это можно осуществить?
Буду очень признателен за помощь.
10.07.2014 13:56:07
Вр. созданияВр. решенияДлит.выполнения
10.02.2014 16:3510.02.2014 16:54
=B1-A1
10.02.2014 16:5611.02.2014 09:18
..
26.12.2014 01:12:09
Добрый!
Вот это было бы очень полезно. В формате 3 г. 4 мес. 12 дн. 5 ч. 20 мин. или только количество часов. Есть у кого идеи на этот счет?
23.07.2014 08:08:55
Добрый день.

Подскажите как посчитать продолжительность отпуска ( с вычетом заданных праздничных дней) но не в рабочих днях, а в календарных.
Я пробовала задать в функции WORKDAY.INTL условие - что нет выходных, но это не работает

У нас подсчет отпусков ведется в календарных днях (минус праздники , выпадающие на период отпуска)
27.07.2014 14:51:38
Динара, вам нужна функция NETWORKDAYS.INTL в следующем виде:
=NETWORKDAYS.INTL(A1,A2,"0000000",D1:D5)
где
А1 - начало отпуска
А2 - конец отпуска
D1:D5 - даты праздников
Николай скажите пожалуйста,а как полученный стаж: например: 2 года 2 месяца и 2 дня умножить на какой либо коэффициент. например 2 ???
02.12.2014 23:01:43
Николай, здравствуйте!
Подскажите, существует ли вариант подсчета количества календарных дней за вычетом праздничного дня (при его наличии в заданном диапазоне), в условии заданы начальная и конечная дата. Мне это необходимо для подсчета дней отпуска.


Заранее спасибо за ответ,
Трофимова Татьяна
02.12.2014 23:33:59
См.предыдущий комментарий чуть выше.
26.11.2016 17:11:39
Николай, доброго дня!
что-то проблема с предлагаемыми формулами: если исп. =РАЗНДАТ(A1;B1;"y")&" л "&РАЗНДАТ(A1;B1;"ym")&" м "&РАЗНДАТ(A1;B1;"md")&" д " , или =РАЗНДАТ(A1;B1;"d")- то показателю "Х л Х м Х д" всегда не хватает одного дня для корректного подсчета показателя (последний день (В1) почему-то всегда "выпадает" из подсчета.... Как исправить данную печальку??
28.11.2016 14:43:49
Прибавить один? :)
11.12.2016 22:40:45
Николай, как не прискорбно, но я вынужден всё-таки признать, что сам никак (сколько не бился) не могу этого сделать - найти способ добавить к формуле =РАЗНДАТ(A1;B1;"d") еще один день...... Прошу помощи!
Заодно, если можно, подскажите: каким образом (формулой?) можно перевести количество дней (т.е.простое целое положительное число) в показатель: Х л Х м Х д?(если таковая есть вообще)
Спасибо!
23.03.2015 20:33:44
Разность между текстовыми датами(кол-во месяцев с учетом последнего) =(12*(ПСТР(B1;7;4)-ПСТР(A1;7;4))-ПСТР(A1;4;2)+ПСТР(B1;4;2))
14.06.2015 13:43:35
Приветствую! подскажите новичку...какую конструкцию построить, чтоб выдавал г. (год), если результат 1,2,3,4 и л. (лет), если результат по годам больше 5? спасибо! ( а то как-то рез-т : " стаж 2 лет " или " стаж 5 год " режет слух:D)
05.02.2016 10:02:23
Прошу совета
Использую формулу вычисления возраста =РАЗНДАТ(A1; СЕГОДНЯ(); "y")

A1 в формате дата.
Если А1 не заполнено (то есть равно 0) то возраст показывается как 116

как этого избежать?
В ответе показывается 116, потому что если значение A1 равно 0, то Excel вместо 0 подставляет дату 00.01.1900 (минимальную, которую система считает начальной). Поэтому 116 - это значение между датой 00.01.1900 и сегодняшней. Решить вопрос можно через функцию ЕСЛИ. То есть в ячейке, где считается стаж (допустим, C1) функция РАЗНДАТ должна быть внутри функции ЕСЛИ. Пример: ячейка A1 содержит дату поступления на работу, ячейка B1 - сегодняшнюю дату (функцию СЕГОДНЯ), ячейка C1 - формулу, что считает стаж. Тогда значение ячейки C1 будет таким: =ЕСЛИ(A1=0;0;РАЗНДАТ(A1;B1;"y";)&"г."&РАЗНДАТ(A1;B1;"ym";)&"мес."&РАЗНДАТ(A1;B1;"md";)&"дн.";). То есть Если A1 равно 0, то ячейка C1 будет показывать 0, если больше, то будет включаться функция РАЗНДАТ. В вашем случа формула будет такая: =ЕСЛИ(A1=0;0;РАЗНДАТ(A1;СЕГОДНЯ();"y"))
14.03.2016 11:43:39
Добрый день! Подскажите, пожалуйста, как дату в формате 6 лет, 6 мес. преобразовать в формат 6,5?
Добрый день! Подскажите, есть две ячейки с вычесленными стажами через РАЗНДАТ. Мне нужно их сложить. То есть, есть ячейка 1г. 5мес. 12дн. и есть ячейка 2г. 11мес. 4дн. Вот как их сложить, чтобы получилось общее количество лет, месяцев и дней? То есть 4г. 4мес. 16дн. (в ручную примерно посчитал). Есть ли такая функция? Спасибо!
26.10.2016 21:09:15
Доброго времени суток! Я столкнулся с задачей следующего содержания:
Есть стаж работы в нескольких организациях (4-6 периодов). Как вычислить дату, на которую стаж будет равен 10 лет?
Спасибо!
26.11.2016 18:07:21
Николай, доброго дня!
что-то проблемы с предлагаемыми формулами: если исп. =РАЗНДАТ(A1;B1;"y")&" л "&РАЗНДАТ(A1;B1;"ym")&" м "&РАЗНДАТ(A1;B1;"md")&" д " , или =РАЗНДАТ(A1;B1;"d")- то показателю "Х л Х м Х д" всегда не хватает одного дня для корректного подсчета показателя (последний день (В1) почему-то всегда "выпадает" из подсчета.... Как исправить данную печальку??
17.01.2017 13:00:53
Спасибо! Очень помогли!