Skip to content
В Excel нет специальной функции, чтобы посчитать возраст, однако существует несколько различных способов его определения на основе даты рождения. Вы узнаете несколько приемов, как рассчитать его в количестве полных лет, в годах, месяцах и днях на текущий момент или на какой-то определённый момент времени. Мы объясним преимущества и недостатки каждого способа, покажем, как создать идеальную формулу расчета возраста в Экселе и настроить ее для решения некоторых конкретных задач.
- Основная формула для расчета возраста
- Как определить возраст с функцией ДОЛЯГОДА.
- Как узнать возраст при помощи функции РАЗНДАТ
- Возраст в днях, месяцах и годах
- Сколько будет лет на определенную дату?
- Сколько вам будет в определенный год?
- Узнаём дату, когда человек достигает N лет
- Калькулятор возраста для Excel.
В повседневной жизни вопрос «Сколько вам лет?» обычно подразумевает ответ, указывающий, сколько лет вы прожили. В Microsoft Excel вы можете создать формулу для исчисления точной продолжительности жизни в месяцах, днях, часах и даже минутах. Но давайте не будем нарушать традицию и научимся сначала считать по полным годам.
Основная формула Excel расчета для возраста в годах.
Как вы обычно определяете, сколько вам лет? Просто вычитая дату рождения из текущей. Этот традиционный подход, знакомый нам еще с детства, может также использоваться в Excel.
Если предположить, что день рождения (ДР) записан в ячейке B2, то вычислить возраст в годах можно следующим образом:
=(СЕГОДНЯ()-B2)/365
=(TODAY()-B2)/365
Первая часть выражения (СЕГОДНЯ()-B2) возвращает разницу между текущей и датой рождения в днях. А затем вы делите это на 365, чтобы получить количество лет.
Формула очевидна и легко запоминаема, однако есть небольшая проблема. В большинстве случаев мы получаем число, как показано на скриншоте ниже. Что, согласитесь, несколько непривычно и не слишком удобно.
Чтобы отобразить количество прожитых лет, используйте один из предлагаемых методов округления десятичного числа до ближайшего целого:
=ЦЕЛОЕ((СЕГОДНЯ()-B2)/365)
Функция ЦЕЛОЕ округляет в меньшую сторону до ближайшего целого.
=ОКРУГЛ((СЕГОДНЯ()-B3)/365;0)
Округляет количество прожитых лет по стандартным правилам в зависимости от значения дробной части (более 0,5 — в большую сторону).
=ОКРУГЛВНИЗ((СЕГОДНЯ()-B4)/365;0)
Округляет в меньшую сторону.
=ОТБР((СЕГОДНЯ()-B5)/365;0)
Отбрасывает дробную часть, оставляя только целое.
Во всех случаях ноль в формуле означает, что в возвращаемой цифре не должно быть ни одного десятичного разряда.
Недостатки: использование этого выражения в Экселе дает довольно точные результаты, но не безупречные. Деление на среднее число дней в году в большинстве случаев работает нормально, но иногда все же показывает неверный возраст. Например, если кто-то родился 29 февраля, а сейчас 28 февраля, программа сделает человека на один день старше.
В качестве альтернативы вы можете использовать в знаменателе 365,25 вместо 365, поскольку каждый четвертый год состоит из 366 дней. Однако и этот подход не идеален. Например, если вы рассчитываете возраст ребенка, который еще не прожил високосный год, деление на 365,25 дает неправильный результат.
В целом, вычитание ДР из текущей даты прекрасно работает в обычной жизни, но не является идеальным подходом в Excel. Ведь мы здесь ожидаем получить точный ответ.
Далее мы поговорим о нескольких специальных функциях, которые безошибочно вычисляют возраст независимо от года.
Как определить возраст с функцией ДОЛЯГОДА.
Более надежный способ расчета, чем те, о которых мы говорили ранее, — это использование функции ДОЛЯГОДА (YEARFRAC в английском варианте), которая возвращает часть года, то есть количество целых дней между двумя датами.
Синтаксис здесь следующий:
YEARFRAC (дата_начала, дата_окончания, [базис])
Первые два аргумента очевидны и вряд ли требуют какого-либо дополнительного объяснения. А вот Базис — это аргумент, который определяет основу для подсчета дней.
Чтобы составить абсолютно точную формулу, передайте в ДОЛЯГОДА следующие значения:
- Дата_начала — дата рождения.
- Дата_окончания — функция СЕГОДНЯ() для использования текущего момента времени.
- Базис — используйте 1, которая предписывает Excel делить фактическое количество дней в месяце на фактическое количество дней в году. Никаких усредненных цифр типа 360 или 365 здесь не используется.
Учитывая вышеизложенное, формула Excel для расчета возраста по дате рождения выглядит следующим образом:
=ДОЛЯГОДА(дата рождения, СЕГОДНЯ (), 1)
Предполагая, что ДР вписан в ячейку B2, выражение принимает следующий вид:
=ДОЛЯГОДА(B2, СЕГОДНЯ(), 1)
Как и в предыдущем примере, результат также является десятичным числом. Чтобы исправить это, используйте любой из подходящих вам методов округления.
Итак, вот улучшенный вариант:
Метод округления можете выбрать сами.
=ЦЕЛОЕ(ДОЛЯГОДА(B2;СЕГОДНЯ();1))
=ОКРУГЛ(ДОЛЯГОДА(B3;СЕГОДНЯ();1);0)
=ОКРУГЛВНИЗ(ДОЛЯГОДА(B4;СЕГОДНЯ();1);0)
=ОТБР(ДОЛЯГОДА(B5;СЕГОДНЯ();1);0)
Особенности применения этих функций мы уже рассмотрели выше.
Как узнать возраст в Excel при помощи РАЗНДАТ.
Еще один способ — использование функции РАЗНДАТ (DATEDIF):
= РАЗНДАТ(дата_нач; дата_кон; аргумент)
где
дата_нач и дата_кон — две даты, разницу между которыми необходимо рассчитать,
Она может возвращать разницу в различных единицах времени, таких как годы, месяцы и дни, в зависимости от параметра, который вы задаете в аргументе:
- Y — возвращает количество лет.
- M — количество месяцев.
- D — количество дней.
- YM — возвращает месяцы, игнорируя дни и годы.
- MD — разница в днях, игнорируя месяцы и годы.
- YD — разница в днях, игнорируя годы.
Поскольку мы хотим подсчитать возраст в годах, мы используем параметр «Y»:
=РАЗНДАТ( дата рождения, СЕГОДНЯ(), «Y»)
В этом примере день рождения записан в ячейке B2, и вы ссылаетесь на него в своей формуле возраста:
=РАЗНДАТ(B2;СЕГОДНЯ();»Y»)
В этом случае дополнительная операция округления не требуется, так как РАЗНДАТ с аргументом «Y» сразу выводит количество лет.
Рассчитываем в днях, месяцах и годах.
Высчитывать можно не только количество лет, как это обычно принято, но и более мелкие единицы времени.
Давайте попробуем рассчитать полный возраст, который включает в себя дни, месяцы и годы.
Фактически, определение чьего-либо возраста на основе даты рождения является частным случаем расчета разницы в датах в Excel, где конечной датой является текущий момент времени. Итак, вы используете обычную функцию РАЗНДАТ:
=РАЗНДАТ(B2;СЕГОДНЯ();»Y»)&» лет, «&РАЗНДАТ(B2;СЕГОДНЯ();»YM»)&» мес., «&РАЗНДАТ(B2;СЕГОДНЯ();»MD»)&» д.»
Где В2 — дата рождения.
Ну а если нужно сделать совсем красиво, используйте более сложное выражение:
=ЕСЛИ(РАЗНДАТ(B2;СЕГОДНЯ();»y»);РАЗНДАТ(B2;СЕГОДНЯ();»y»)&» «&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;СЕГОДНЯ();»y»)-11;100);9);10);»[<1]год;[<4]года;лет»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;СЕГОДНЯ();»ym»);РАЗНДАТ(B2;СЕГОДНЯ();»ym»)&» меся»&ТЕКСТ(ОСТАТ(РАЗНДАТ(B2;СЕГОДНЯ();»ym»)-1; 11);»[<1]ц;[<4]ца;цев»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;СЕГОДНЯ();»md»);РАЗНДАТ(B2;СЕГОДНЯ();»md»)&» д»&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;СЕГОДНЯ();»md»)-11;100);9); 10);»[<1]ень;[<4]ня;ней»);)
И вот что получится:
Более подробно об использовании функции РАЗНДАТ читайте в материале о расчете разности между датами в Excel.
Сколько вам будет на определённую дату?
Вы можете воспользоваться формулой РАЗНДАТ из предыдущего раздела, но вместо СЕГОДНЯ() используйте ссылку на ячейку, в которой и будет указано, на какой именно момент времени вы хотите определить возраст человека.
Кстати, аналогичным образом можно определять и величину трудового стажа.
Итак, вот как это может выглядеть:
Вот расчет:
=РАЗНДАТ(B2;C3;»Y»)&» лет, «&РАЗНДАТ(B2;C3;»YM»)&» мес., «&РАЗНДАТ(B2;C3;»MD»)&» д.»
или же —
=ЕСЛИ(РАЗНДАТ(B2;C3;»y»);РАЗНДАТ(B2;C3;»y»)&» «&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;C3;»y»)-11;100);9);10);»[<1]год;[<4]года;лет»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;C3;»ym»);РАЗНДАТ(B2;C3;»ym»)&» меся»&ТЕКСТ(ОСТАТ(РАЗНДАТ(B2;C3;»ym»)-1; 11);»[<1]ц;[<4]ца;цев»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;C3;»md»);РАЗНДАТ(B2;C3;»md»)&» д»&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;C3;»md»)-11;100);9); 10);»[<1]ень;[<4]ня;ней»);)
Сколько вам будет лет в определенный год?
Эта формула полезна в ситуациях, когда полная дата для расчета не определена, и вы знаете только год.
Допустим, вы работаете с медицинской базой данных, и ваша цель – выяснить, сколько лет пациенту на момент последнего полного медицинского обследования.
Если предположить, что ДР указан в столбце B, начиная со строки 2, а год последнего медицинского осмотра находится в столбце C, то расчет выглядит следующим образом:
=РАЗНДАТ(B2;ДАТА(C2;1;1);»Y»)
Поскольку точный срок медицинского осмотра не определен, вы используете функцию ДАТА с произвольным аргументом дня и месяца, например, DATА(C3; 1; 1).
Функция ДАТА извлекает номер года из ячейки С2, создает полную дату, используя введенные вами номера месяца и дня (в этом примере 1 января), и передает ее в РАЗНДАТ. В результате вы получаете сумму прожитых пациентом лет по состоянию на 1 января определенного года.
Узнайте дату, когда человек достигает N лет
Предположим, ваш друг родился 21 марта 1974 года. Как вам определить, когда ему исполняется 50 лет? Обычно вы просто добавляете 50 лет к ДР человека. В Excel вы делаете то же самое, используя ДАТА:
=ДАТА(ГОД(B2) + 50; МЕСЯЦ(B2); ДЕНЬ(B2))
Где B2 — день рождения.
Вместо того, чтобы жестко указывать количество лет в формуле, вы можете сослаться на определенную ячейку, в которую ваши пользователи могут вводить сколько угодно лет.
Калькулятор возраста для Excel
Пользователям надстройки Ultimate Suite не нужно беспокоиться о создании своего собственного калькулятора возраста в Excel — это всего лишь пара щелчков мышью:
- Выберите ячейку, в которую вы хотите вставить формулу возраста, перейдите на вкладку «Ablebits Tools»> группу «Date & Time» и нажмите кнопку «Мастер даты и времени (Date & Time Wizard)» .
- Мастер даты и времени запустится, и вы перейдете прямо на вкладку «Возраст (Age)».
- Здесь вам нужно указать 3 параметра:
- Данные о рождении в виде ссылки на ячейку или дату в формате дд/мм/гггг.
- Рассчитывать возраст на сегодняшний день или на конкретную дату.
- Выберите, следует ли рассчитывать возраст в днях, месяцах, годах, неделях, или в полном виде (лет, месяцев, дней).
- Нажмите кнопку « Вставить формулу (Insert Formula)» .
Готово!
Формула мгновенно вставляется в выбранную ячейку, и вы можете дважды щелкнуть маркер заполнения, чтобы скопировать его вниз по столбцу.
Как вы могли заметить, формула, созданная калькулятором возраста в Excel, более сложна, чем те, которые мы обсуждали до сих пор.
К сожалению, пока русской локализации нет, но вы легко можете заменить в формуле английские слова на русские и затем использовать ее там, где это необходимо.
Либо вовсе не добавляйте текст и получите возраст в виде текста «лет/месяцев/дней» (см. ячейку B7 на скриншоте выше).
Если вы хотите избавиться от нулевых единиц, таких как «0 дней», установите флажок «Не показывать нулевые значения».
Также вы можете более подробно узнать о мастере даты и времени здесь.
Если вам интересно протестировать этот калькулятор возраста, а также открыть для себя еще 60 надстроек для экономии времени в Excel, то можете загрузить пробную версию Ultimate Suite. Если вам понравились инструменты и вы решили получить лицензию, не пропустите это специальное предложение для читателей нашего сайта.
Надеюсь, из рассмотренных нами вариантов вы сможете выбрать для себя самый наилучший и удобный, чтобы посчитать возраст человека по дате его рождения.
Также рекомендуем почитать о работе с датами:
Определим, сколько лет, месяцев и дней прошло с определенной даты, а также решим обратную задачу.
Для вычислений длительностей интервалов дат удобней всего использовать недокументированную функцию
РАЗНДАТ()
. Этой функции нет в справке EXCEL2007 и в
Мастере функций
(
SHIFT+F3
), но она работает (
с некоторыми огрехами
).
Если в ячейке
В2
содержится сегодняшняя дата, а в
А2
–дата начала отсчета (например, день рождения), то формула:
=РАЗНДАТ(A2;B2;»y»)&» г. «&
РАЗНДАТ(A2;B2;»ym»)&» мес. «&
РАЗНДАТ(A2;B2;»md»)&» дн.»
рассчитает сколько лет, месяцев, дней прошло с конкретной даты и вернет результат в виде
37 г. 5 мес. 1 дн
.
Как показано в статье о функции
РАЗНДАТ()
, лучше избегать применения этой функции с аргументом «md», т.к. она может выдать неправильный результат. Поэтому часть формулы
РАЗНДАТ(A2;B2;»md»)
лучше заменить ее эквивалентом:
=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2);ДЕНЬ(B2)-ДЕНЬ(A2))
Итоговая формула приведена в
файле примера:
=РАЗНДАТ(A2;B2;»y»)&» г. «&РАЗНДАТ(A2;B2;»ym»)&» мес. «&ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2);ДЕНЬ(B2)-ДЕНЬ(A2))&» дн.»
Уточним склонения: год/ лет, месяца/ месяцев, дня/ дней
В случае, если получается целое количество лет, то формула вернет результат в виде
37 г. 0 мес. 0 дн.
, что не очень красиво.
Воспользовавшись идеями, подсказанными нашим пользователем МСН, также просклоняем
месяцев/ месяца
и
дней/ дня
=ЕСЛИ(РАЗНДАТ(A2;B2;»y»);РАЗНДАТ(A2;B2;»y»)&» «&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(A2;B2;»y»)-11;100);9);10);»[<1]год;[<4]года;лет»)&» «;)& ЕСЛИ(РАЗНДАТ(A2;B2;»ym»);РАЗНДАТ(A2;B2;»ym»)&» меся»&ТЕКСТ(ОСТАТ(РАЗНДАТ(A2;B2;»ym»)-1; 11);»[<1]ц;[<4]ца;цев»)&» «;)& ЕСЛИ(РАЗНДАТ(A2;B2;»md»);РАЗНДАТ(A2;B2;»md»)&» д»&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(A2;B2;»md»)-11;100);9); 10);»[<1]ень;[<4]ня;ней»);)
Окончательно результат будет выглядеть так:
37 лет 1 месяц 4 дня
.
О вычислении страхового стажа
Формулы этой статьи НЕ позволяют правильно вычислить
страховой (трудовой) стаж
с точностью до дней. Поясним сказанное на примере (также см. статью
Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в MS EXCEL
)
Найдем разницу дат 30.01.15. и 16.03.2015. Функция
РАЗНДАТ()
с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней.
Алгоритм расчета этой функции следующий: сначала функция последовательно прибавляет месяцы к дате начала, до тех пор пока получившаяся дата меньше конечной. Т.е. к 30.01.2015 функция прибавит 1 месяц и получит 30.02.2015, но такой даты не существует, в феврале 2015г. 28 дней! Ничего страшного, функция запоминает, что нужно отнять 2 дня, чтобы получить правильную дату! Затем идет подсчет оставшихся дней в марте — их 16. Затем, функция к 16 дням прибавляет -2, и получаем 14 дней. Естественно, такой расчет не верен.
Получается, что функцию
РАЗНДАТ()
можно использовать только для расчета
полных лет
и
месяцев
, но без дней. Рассмотренные выше формулы будут в основном возвращать правильный результат (иногда, конечно, будет возникать погрешность в 1-2 дня в меньшую сторону), но часто удобство применения этой функции перевешивает требования к точности. Такой подход безусловно не годится для расчета страхового стажа
для определения размера пособий по временной нетрудоспособности (об этом см. статью
Расчет страхового (трудового) стажа в MS EXCEL
)
.
Обратная задача
Теперь решим обратную задачу: задав количество количество лет, месяцев и дней, рассчитаем конечную дату.
Конечную дату будем рассчитывать двумя способами: через функцию
ДАТА()
и
ДАТАМЕС()
=
ДАТА(ГОД(A8)+B8;МЕСЯЦ(A8)+C8;ДЕНЬ(A8)+D8)
=ДАТАМЕС(ДАТА(ГОД(A8)+B8;МЕСЯЦ(A8);ДЕНЬ(A8));C8)+D8
Вычислив конечную дату, затем вычислим с помощью
РАЗНДАТ()
разницу между ними (должна совпасть с заданной). И наконец, из конечной даты получим начальную, вычтя заданное количество лет, месяцев и дней с использованием формул:
=
ДАТА(ГОД(E8)-B8;МЕСЯЦ(E8)-C8;ДЕНЬ(E8)-D8)
=ДАТАМЕС(ДАТА(ГОД(E16)-B8;МЕСЯЦ(E16);ДЕНЬ(E16));-C8)-D8
Если для начальной даты 15.01.2015 (строка 8
в файле примера, лист Обратная задача
) все вычисления понятны и одинаковы (добавили 1 год, 2 месяца и 5 дней), получили 20.03.2015, разница составила теже 1 год, 2 месяца и 5 дней, расчетная начальная дата совпала с заданной начальной датой, то для 29.01.2015 все не так гладко (см. строку 9). Для наглядности прибавим 1 месяц.
Как мы уже знаем из статьи
Функция ДАТАМЕС() в MS EXCEL
функции
ДАТА()
и
ДАТАМЕС()
не эквивалентны при прибавлении месяцев:
При прибавлении месяцев между
ДАТАМЕС()
и
ДАТА()
существует разница. Прибавим к 29.01.2015 один месяц:
=ДАТАМЕС(«29.01.2015»;1)
вернет 28.02.2015, т.к. 30 февраля не существует, то функция вернет последний день месяца, т.е. 28.02.2014 («лишние» 2 дня будут отброшены);
=ДАТА(ГОД(«29.01.2015»);МЕСЯЦ(«29.01.2015»)+1;ДЕНЬ(«29.01.2015»))
вернет 02.03.2015: «лишние» 2 дня (29 и 30 февраля) будут прибавлены к дате.
Расчет с помощью
ДАТАМЕС()
кажется логичней, хотя функция
РАЗНДАТ()
с этим не согласна: разницу, совпадающей с заданной она возвращает только для варианта с функцией
ДАТА()
.
Расчетная начальная дата в обоих случаях не совпадает с заданной начальной датой: получим 01.02.2015 и 28.01.2015 вместо 29.01.2015.
Как быть? Вероятно, решение будет зависеть от конкретной задачи, стоящей перед пользователем. Необходимо помнить, что нужно использовать
ДАТАМЕС()
при добавлении (вычитании) месяцев, а
РАЗНДАТ()
— это недокументированная и, соответственно, не гарантирующая правильность расчетов функция. Об этой функции написана статья
Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в MS EXCEL
, в которой дается формула, учитывающая вышеуказанную ситуацию (см. раздел «Еще раз о кривизне
РАЗНДАТ()
«).
Дата и время в Excel – это числа сформатированные специальным образом. Датой является целая часть числа, а время (часы и минуты) – это дробная часть.
По умолчанию число 1 соответствует дате 01 января 1900 года. То есть каждая дата – это количество дней прошедших от 01.01.1900. На данном уроке детально рассмотрим даты, а на следующих уроках – время.
Как в Excel посчитать дни между датами?
Так как дата является числом, значит можно проводить с ним математические вычислительные и расчетные операции. Посчитать количество дней между двумя датами Excel не составляет особых проблем. Для наглядного примера сначала выполним сложение, а потом вычитание дат. Для этого:
- На чистом листе в ячейку А1 введите текущею дату нажав CTRL+;.
- В ячейке A2 введите промежуточный период в днях, например 127.
- В ячейку A3 введите формулу:=A1+A2.
Обратите внимание, формат «Дата» автоматически присвоился для ячейки A3. Не сложно догадаться, чтобы посчитать разницу в датах в Excel нужно от новейшей даты отнять старшую дату. В ячейке B1 введите формулу:=A3-A1. Соответственно мы получаем количество дней между этими двумя датами.
Вычисление возраста по дате рождения в Excel
Теперь мы научимся вычислять возраст по дате рождения:
- На новый лист в ячейки A1:A3 введите даты: 18.04.1985; 17.08.1977; 08.12.1992
- В ячейки B1:B3 проставьте текущею дату.
- Теперь нужно воспользоваться функцией по преобразованию количества дней в количество лет. Для этого вручную введите в диапазон C1:C3 следующее значение: =РАЗНДАТ(A1;B1;»y»).
Таким образом, применение функции позволило нам точно вычислить возраст по дате рождения в Excel.
Внимание! Чтобы перевести дни в года не достаточно формулы: =(B1-A1)/365. Более того даже если мы знаем что 1 сутки = 0,0027397260273973 года, то формула:=(B1-A1)*0,0027397260273973 так же не даст точного результата.
Дни в года наиболее точно преобразует функция:=РАЗНДАТ(). Английская версия =DATEDIF(). Вы не найдете ее в списке мастера функций (SHIFT+F3). Но если просто введете ее в строку формул, то она сработает.
Функция РАЗНДАТ поддерживает несколько параметров:
Параметр | Описание |
«d» | Количество полных дней |
«m» | Количество полных месяцев |
«y» | Количество полных лет |
«ym» | Количество полных месяцев без учета лет |
«md» | Количество дней без учета месяцев и лет |
«yd» | Количество дней без учета лет |
Проиллюстрируем пример использования нескольких параметров:
Внимание! Чтобы функция:=РАЗНДАТ() работала без ошибок, следите за тем, чтобы начальная дата была старше конечной даты.
Ввод даты в ячейку Excel
Целью данного урока является пример математических операций с датами. Так же, мы убедимся, что для Excel тип данных дата является числом.
Заполните таблицу датами, так как показано на рисунке:
Разные способы ввода дат. В столбце А – способ ввода, а в столбце B – результат отображения.
Обратите внимание, что в формате ячеек по умолчанию «Общий», даты также как и число выравниваются по правой стороне, а текст по левой. Значение в ячейке B4 распознается программой как текст.
В ячейке B7 Excel сам присвоил текущий год (сейчас 2015-ый) по умолчанию. Это видно при отображении содержимого ячеек в строке формул. Обратите внимание, как изначально вводилось значение в A7.
Вычисление даты Excel
На чистом листе в ячейки А1:B1 введите 01.01.1900, а в ячейках A2:B2 вводим 01.01.1901. Теперь меняем формат ячеек на «числовой» в выделенном диапазоне B1:B2. Для этого можно нажать комбинацию клавиш CTRL+SHIFT+1.
B1 теперь содержит число 1, а B2 – 367. То есть прошел один високосный год (366 дней) и 1 день.
Способ отображения даты можно задать с помощью диалогового окна «Формат ячеек». Для его вызова нажмите: CTRL+1. На закладке «Число» выберите в списке «Числовые форматы» — «Дата». В разделе «Тип» отображаются самые популярные форматы для отображения дат.
Скачать примеры вычисления даты в Excel
Читайте также: Функции для работы с датами в Excel
На следующем уроке мы на готовых примерах будем работать со временем и периодами суток.
Содержание
- Расчет количества дней
- Способ 1: простое вычисление
- Способ 2: функция РАЗНДАТ
- Способ 3: вычисление количеств рабочих дней
- Вопросы и ответы
Для выполнения определенных задач в Excel нужно определять, сколько дней прошло между некоторыми датами. К счастью, у программы имеются инструменты, которые способны решить данный вопрос. Давайте выясним, какими способами можно посчитать разность дат в Экселе.
Расчет количества дней
Прежде, чем начать работать с датами, нужно отформатировать ячейки под данный формат. В большинстве случаев, при введении комплекта символов, похожего на дату, ячейка сама переформатируется. Но лучше все-таки сделать это вручную, чтобы подстраховать себя от неожиданностей.
- Выделяем пространство листа, на котором вы планируете производить вычисления. Кликаем правой кнопкой мыши по выделению. Активируется контекстное меню. В нём выбираем пункт «Формат ячейки…». Как вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+1.
- Открывается окно форматирования. Если открытие произошло не во вкладке «Число», то следует в неё перейти. В блоке параметров «Числовые форматы» выставляем переключатель в позицию «Дата». В правой части окна выбираем тот тип данных, с которым собираемся работать. После этого, чтобы закрепить изменения, жмем на кнопку «OK».
Теперь все данные, которые будут содержаться в выделенных ячейках, программа будет распознавать как дату.
Способ 1: простое вычисление
Проще всего вычислить разность дней между датами с помощью обычной формулы.
- Записываем в отдельные ячейки отформатированного диапазона даты, разность между которыми нужно вычислить.
- Выделяем ячейку, в которой будет выводиться результат. В ней должен быть установлен общий формат. Последнее условие очень важно, так как, если в этой ячейке стоит формат даты, то в таком случае и результат будет иметь вид «дд.мм.гг» или другой, соответствующий данному формату, что является некорректным итогом расчетов. Текущий формат ячейки или диапазона можно просмотреть, выделив его во вкладке «Главная». В блоке инструментов «Число» находится поле, в котором отображается данный показатель.
Если в нем стоит значение, отличное от «Общий», то в таком случае, как и в предыдущий раз, с помощью контекстного меню запускаем окно форматирования. В нем во вкладке «Число» устанавливаем вид формата «Общий». Жмем на кнопку «OK».
- В отформатированную под общий формат ячейку ставим знак «=». Кликаем по ячейке, в которой расположена более поздняя из двух дат (конечная). Далее жмем на клавиатуре знак «-». После этого выделяем ячейку, в которой содержится более ранняя дата (начальная).
- Чтобы увидеть, сколько времени прошло между этими датами, жмем на кнопку Enter. Результат отобразится в ячейке, которая отформатирована под общий формат.
Способ 2: функция РАЗНДАТ
Для вычисления разности в датах можно также применять специальную функцию РАЗНДАТ. Проблема в том, что в списке Мастера функций её нет, поэтому придется вводить формулу вручную. Её синтаксис выглядит следующим образом:
=РАЗНДАТ(начальная_дата;конечная_дата;единица)
«Единица» — это формат, в котором в выделенную ячейку будет выводиться результат. От того, какой символ будет подставлен в данный параметр, зависит, в каких единицах будет возвращаться итог:
- «y» — полные года;
- «m» — полные месяцы;
- «d» — дни;
- «YM» — разница в месяцах;
- «MD» — разница в днях (месяцы и годы не учитываются);
- «YD» — разница в днях (годы не учитываются).
Так как нам нужно рассчитать разницу в количестве дней между датами, то наиболее оптимальным решением будет применение последнего варианта.
Также нужно обратить внимание, что, в отличие от способа с применением простой формулы, описанного выше, при использовании этой функции на первом месте должна находиться начальная дата, а конечная – на втором. Иначе расчеты будут некорректными.
- Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.
- Для того, чтобы произвести расчет, жмем кнопку Enter. После этого результат, в виде числа обозначающего количество дней между датами, будет выведен в указанную ячейку.
Способ 3: вычисление количеств рабочих дней
В Экселе также имеется возможность произвести вычисление рабочих дней между двумя датами, то есть, исключая выходные и праздничные. Для этого используется функция ЧИСТРАБНИ. В отличие от предыдущего оператора, она присутствует в списке Мастера функций. Синтаксис у этой функции следующий:
=ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники])
В этой функции основные аргументы, такие же, как и у оператора РАЗНДАТ – начальная и конечная дата. Кроме того, имеется необязательный аргумент «Праздники».
Вместо него следует подставлять даты праздничных нерабочих дней, если таковые имеются за охватываемый период. Функция производит расчет всех дней указанного диапазона, исключая субботы, воскресенья, а также те дни, которые добавлены пользователем в аргумент «Праздники».
- Выделяем ячейку, в которой будет находиться итог вычисления. Кликаем по кнопке «Вставить функцию».
- Открывается Мастер функций. В категории «Полный алфавитный перечень» или «Дата и время» ищем элемент «ЧИСТРАБДНИ». Выделяем его и жмем на кнопку «OK».
- Открывается окно аргументов функции. Вводим в соответствующие поля дату начала и конца периода, а также даты праздничных дней, если таковые имеются. Жмем на кнопку «OK».
После указанных выше манипуляций в предварительно выделенной ячейке отобразится количество рабочих дней за указанный период.
Урок: Мастер функций в Excel
Как видим, программа Excel предоставляет своим пользователем довольно удобный инструментарий для расчета количества дней между двумя датами. При этом, если нужно рассчитать просто разницу в днях, то более оптимальным вариантом будет применение простой формулы вычитания, а не использование функции РАЗНДАТ. А вот если требуется, например, подсчитать количество рабочих дней, то тут на помощь придет функция ЧИСТРАБДНИ. То есть, как всегда, пользователю следует определиться с инструментом выполнения после того, как он поставил конкретную задачу.
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Excel может помочь вычислить возраст человека различными способами. В таблице ниже приведены распространенные способы использования функций Дата и время.
Чтобы использовать эти примеры в Excel, выделите нужные данные в таблице, щелкните их правой кнопкой мыши и выберите пункт Копировать. Откройте новый таблицу, щелкните правой кнопкой мыши ячейку A1 и выберите параметры в > Сохранить форматирование источника.
Данные |
|
---|---|
02.10.2012 |
|
02.05.2014 |
|
03.06.2014 |
|
03.07.2014 |
|
03.06.2002 |
|
Формула |
Описание |
=(ГОД(ТДАТА())-ГОД(A2)) |
Результатом является возраст человека — разница между сегодняшним и датами рождения в A2. В этом примере используются функции ГОДи СЕЙЧАС. Если в этой ячейке не отображается число, убедитесь, что оно отформатировано как число или общее. Узнайте, как отформатировать ячейку как число или дату. |
=ГОД(ТДАТА())-1960 |
Возраст человека, который родился в 1960 г., без использования ссылок на ячейки. Если эта ячейка не отображается как число, убедитесь, что она отформатирована как число или общий. Узнайте, как отформатировать ячейку как число или дату. |
=ДОЛЯГОДА(A3;A5) |
Вычисляет возраст дробной части года между датами в A5 и A3. |
=(A5-A6)/365,25 |
Вычисляет возраст между датами в A5 и A6 ( 12,08). Для учета високосного года, который приходится каждые 4 года, в формуле используется 365,25. |
=(«02.10.2014»-«02.05.2014») |
Вычисляет количество дней между двумя датами без использования ссылок на ячейки ( 153). |
=ДНИ(СЕГОДНЯ();»15.02.79″) |
Количество дней между двумя датами с использованием двух функций даты. Двумя аргументами функции ДНИ могут быть фактические даты, ссылки на ячейки или другая функция даты и времени, например функция СЕГОДНЯ. |
=(ГОД(ТДАТА())-ГОД(A3))*12+МЕСЯЦ(ТДАТА())-МЕСЯЦ(A3) |
Количество месяцев между A3 и текущей датой. Этот пример содержит вызовы функции ГОД , функции ТДАТА и функции МЕСЯЦ. Если эта ячейка не отображается как число, убедитесь, что она отформатирована как число или общий. Узнайте, как отформатировать ячейку как число или дату. |
=ЧИСТРАБДНИ(A3;A2;A3:A5) |
Количество рабочих дней между двумя датами в A2 и A3 — 107. Рабочими днями не считаются выходные дни и праздники. Последний аргумент (A3:A5) представляет собой количество праздничных дней, которое вычитается из количества рабочих дней. В этом примере используется функция ЧИСТРАБДНИ. |
=ДНИ360(A2;A3;ИСТИНА) |
Количество дней между двумя датами в A2 и A3 ( 570). Он основан на 360-дневном году (двенадцать месяцев по 30 дней), типичных для бухгалтерских вычислений. В этом примере используется функция ДНЕЙ360. |
=ДАТАМЕС(A3;-4) |
Преобразуем этот формат в формат даты( 02.01.2014, то есть на четыре месяца раньше даты в A3). В этом примере функция ДАТАМЕС используется для вычисления даты погашения кредитных билетов. |
Дополнительные сведения
-
Узнайте обо всех функциях даты и времени.
-
Подробнее об обнаружении ошибок в формулах.
-
Узнайте, как вычислять разницу между датами с использованием функций Google Sheets: DATEDIF, DAYS360 и EDATE.
Нужна дополнительная помощь?
В электронных таблицах, созданных в Microsoft Excel, пользователи часто взаимодействуют со списком сотрудников или других лиц, собирая общую информацию о них. Сюда входит и дата рождения, которую не всегда можно быстро перевести в текущий возраст человека, просто взглянув на цифры.
В рамках этой статьи я покажу, как автоматизировать подсчет возраста человека, имея его дату рождения и сегодняшнее число.
Подготовительные действия
Для начала разберемся с тем, что нужно иметь в электронной таблице для реализации поставленной задачи. Взгляните на следующее изображение – это простой вариант оформления с именами сотрудников и их датой рождения. Поле «Возраст» пока остается пустым, но в будущем туда будет помещен результат расчетов по формуле.
Остается только указать текущую дату в одной из свободных ячеек. Вы можете сделать это вручную, но куда проще вызвать специальную функцию, которая к тому же будет постоянно обновляться, показывая актуальную информацию.
Для этого найдите ту самую пустую ячейку в любом месте таблицы, объявите в ней функцию =СЕГОДНЯ() и нажмите Enter для применения изменений.
Никаких значений в самих кавычках вводить не нужно, функция и так будет работать корректно. Обратите внимание на то, что прямо сейчас в ячейке показана та дата, которая установлена у вас в операционной системе (думаю, не стоит говорить о том, что она должна быть правильной).
Если вы желаете узнать о функции СЕГОДНЯ больше, перейдите по ссылке ниже и прочитайте другую мою статью по теме.
Читайте также: Как использовать функцию СЕГОДНЯ в Microsoft Excel
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Создание формулы для подсчета возраста в Microsoft Excel
Теперь создадим ту самую формулу, которая и позволит очень быстро посчитать возраст человека, отталкиваясь от двух имеющихся значений (о них шла речь выше). Далее эту формулу можно будет растянуть на всю длину таблицы и добавлять значения, когда это понадобится.
-
Выберите первую ячейку в столбце «Возраст» и вызовите функцию =ДОЛЯГОДА(.
-
Для наглядности перейдем в окно «Аргументы функции», чтобы не возникло проблем с выбором подходящих ячеек.
-
В качестве начальной даты выступает дата рождения человека, соответственно, нужно кликнуть по ячейке, чтобы она добавилась в аргументы, или можно вписать ее номер в поле вручную.
-
Конечная дата является сегодняшним днем, то есть нужно выбрать значение функции СЕГОДНЯ, которую мы объявили ранее.
-
Базис – это метод вычисления дня, который для возраста должен равняться единице.
-
После введения всей информации нажмите Enter и ознакомьтесь с результатом.
-
Вы можете увидеть много цифр после запятой, что для отображения возраста не требуется, поэтому откройте список с инструментами «Число» и нажмите кнопку для удаления знаков после запятой.
-
Как видно, все значения в таблице заполнены и отображается правильный возраст. Теперь формулу можно растянуть, но об этом далее.
Растягивание формулы для подсчета возраста
Если вы являетесь опытным пользователем Microsoft Excel, растягивание формул с закреплением определенных ячеек не вызовет у вас сложностей. Вы можете пропустить этот этап и выполнить задачу самостоятельно. Тем, кто ранее не выполнял такую операцию, рекомендую ознакомиться со следующей инструкцией. Однако сначала скажу, что вы можете растянуть СЕГОДНЯ на весь столбец, чтобы не закреплять ячейку.
Однако отображение одной и той же даты на целый столбец как минимум портит эстетический вид таблицы, а как максимум – не всегда является возможным. Поэтому лучше закрепить ячейку, что осуществляется так:
-
Выберите поле с формулой расчета возраста и добавьте между буквой и цифрой ячейки конечной даты знаки $, которые обозначают константу. Так вы закрепите всю ячейку, а не только столбец или ряд. В итоге номер будет выглядеть, например, как $A$1.
-
Затем зажмите левую кнопку мыши у правой границы ячейки и потяните ее на всю длину таблицы до конца перечисления людей.
-
Убедитесь в том, что все возрасты отображаются корректно. Если нет, еще раз проверьте то, правильно ли вы закрепили ячейку.
В завершение отмечу, что при удалении всех знаков после запятой возраст будет округляться, если до дня рождения осталось меньше полугода. Если вы хотите избежать этого, оставьте один знак после запятой. Тогда вид значения будет таким, как это показано на следующем изображении.
Ничего сложного в подсчетах возраста в Excel нет, поскольку для этого в программе есть все необходимые функции, которые к тому же имеют очень простой синтаксис. Надеюсь, в этом вы убедились лично.
Excel предназначен для решения множества задач, которые связаны с вычислением периодов времени. Такие задачи как подсчет стажа работы, возраста, количества дней между двумя датами являются наиболее распространёнными. Поэтому в данной статье я постараюсь дать исчерпывающие ответы на эти и некоторые другие вопросы.
Содержание
- Как посчитать количество дней между двумя датами
- Как посчитать стаж или возраст в excel
Как посчитать количество дней между двумя датами
Excel имеет множество функций для работы с датами, но некоторые расчеты с датой можно вести и без использования функций. Без функций можно посчитать дни между двумя датами.
Задача: посчитать сколько прошло дней с прошлого Нового Года и какое количество дней осталось до следующего Нового Года.
Прошлый Новый Год 01-01-2015, а следующий 01-01-2016. Что касается текущей даты, то выберите ее самостоятельно. Я выбрал 1 сентября.
Немного теории. Хочу напомнить, что Excel правильно работает с датами, начиная с 01-01-1900 года. Все даты можно представить в виде простого числа, например «1» соответствует дате 01-01-1900, а число «41640» соответствует дате 01-01-2014. Именно поэтому, если нам нужно посчитать дни между датами, достаточно от одной даты отнять другую. Стоит помнить, что если от большей даты отнять меньшую дату, то получим положительное число и наоборот.
Решение.
В Excel я создал табличку как изображено на рисунке. Таблица разбита на две части, в первой части я подсчитываю количество дней прошедших с 01-01-2015 по 01-09-2015. При этом в колонке «Дата» я использую в ячейках формат данных «Дата», а в колонке «Число» я использую числовой формат данных. Во второй части таблицы я подсчитываю количество дней оставшихся до даты 01-01-2016 с 01-09-2015.
Формулы записанные в строке 6 очень простые. B6 = B4 - B5 C6 = C4 - C5 D6 = D4 - D5 E6 = E4 - E5
Со второго рисунка лучше видно как считается количество дней. В ячейку B6 записали формулу B4-B5.
Задача решена. В ней показано как очень просто можно посчитать количество дней между двумя датами.
Как посчитать стаж или возраст в excel
Теперь попробуем решить другую задачу и посчитать от даты 01.01.1980 до даты 01.01.2016 сколько прошло полных лет, полных месяцев или дней. Хочу сказать, что решать подобную задачу очень часто приходится бухгалтерам. Представителям данной профессии приходится регулярно считать стаж проработанный человеком и его полный возраст. Но как показывает практика, бухгалтера не умеют считать стаж в Excel только из-за того, что не знаю функцию РАЗНДАТ.
РАЗНДАТ(первая_дата;вторая_дата;тип_расчета) — функция предназначенная для расчета разницы между датами.
первая_дата — дата от которой нужно считать; вторая_дата — дата по которую нужно считать; тип_расчета — то как считать. Тип расчета может принимать следующие значения «y» -считать годы, «m» — считать месяцы, «d» — считать дни, «yd» — разница в днях с начала года без учета лет, «md» — разница в днях без учета месяцев и года, «ym» — разница полных месяцев без учета лет.
Скрин таблицы очень хорошо демонстрирует как работает данная формула с первыми тремя типами расчета.
Оставшиеся три типа расчета очень интересны для получения более полезной и красивой информации. Итак имеем таблицу в которой казана дата приема на работу сотрудника на работу и сегодняшняя дата. И будем вести расчет стажа.
На рисунке видно как в колонке «Стаж» рассчитывается полный и правильный стаж человека. Туда записана достаточно длинная формула.
=РАЗНДАТ(C19;D19;»y»)&» г. «& РАЗНДАТ(C19;D19;»ym») &» м. «& РАЗНДАТ(C19;D19;»md»)&» дн.»
Также хочется отметить, что в колонке «Сегодняшняя дата» записана функция =СЕГОДНЯ(), которая определяет текущую дату. Таким образом, при каждом новом открытии документа сегодняшняя дата будет меняться, и мы будем точно определять стаж сотрудника в excel.
Думаю теперь Вы сможете рассчитать разницу в днях между датами или посчитать полный стаж сотрудника. На крайний случай сделайте файлик и посчитайте сколько осталось до ожидаемого собития.
Нужно посчитать в excel, какое количество дней прошло между двумя датами? В этой статье разберемся во всех нюансах расчета.
- Количество дней между двумя датами
- Функция РАЗНДАТ в Excel — как посчитать количество лет, месяцев и дней между двумя датами
- Сколько дней прошло с указанной даты до сегодняшнего дня
Количество дней между двумя датами
Если просто нужно посчитать в excel количество дней между двумя датами, то можно сделать это простым вычитанием.
Кол-во дней = Более новая дата — Более старая дата
Рассмотрим на примере.
Еще один способ, как в excel посчитать количество дней между двумя датами — при помощи функции РАЗНДАТ .
Это хитрая функция, которой нет в мастере формул, и excel не выдает подсказки при ее вводе. Но она прекрасно работает, если ввести ее вручную с клавиатуры.
Поэтому ее синтаксис придется просто запомнить или сохранить.
= РАЗНДАТ(дата_начальная; дата_конечная; аргумент)
дата_начальная и дата_конечная — это две даты, между которыми нужно посчитать разницу. Здесь важно, чтобы конечная дата была больше (более новой), чем начальная — иначе будет ошибка.
аргумент — указывает, в каких единицах времени представить результат.
Внимание: аргумент указывается в кавычках.
Он может иметь следующие значения:
Посмотрим пример работы функции РАЗНДАТ с теми же вводными.
Как видите, результат в днях такой же, как при простом вычитании. Поэтому вся мощь функции РАЗНДАТ — в подсчете не дней, а других временных интервалов.
Посчитаем количество месяцев между этими же датами.
Как видите, результат вычисления функции РАЗНДАТ с аргументом М — 12 месяцев. Хотя если разделить количество дней от прошлых вычислений на 30 (среднее количество дней в месяце), то получится 13 месяцев. Все дело в том, что функция РАЗНДАТ учитывает количество полных месяцев — а здесь до полного 13-го месяца не хватает одного дня. Поэтому результат 12 месяцев. Учитывайте эту особенность данной функции.
Посмотрим еще пример, как работает функция РАЗНДАТ с аргументом YD (разница в днях, игнорируя значения года). Получено значение 30 — именно столько дней прошло между датой 5 октября и 4 ноября без учета разницы в один год.
Особенность функции РАЗНДАТ — она выводит только целые значения. Например, РАЗНДАТ с аргументом “Y” покажет количество целых лет. Т.е. если между датами прошло меньше 1 года, то результат будет 0.
Если нужно посчитать количество лет с десятыми долями, то можно количество дней разделить на 365 или использовать функцию ДОЛЯГОДА.
Сколько дней прошло с указанной даты до сегодняшнего дня
Для начала вспомним (или узнаем), что сегодняшнюю дату в Excel можно вывести функцией СЕГОДНЯ.
Функция СЕГОДНЯ не принимает на вход никаких аргументов, и ее синтаксис простой:
=СЕГОДНЯ()
Функцию СЕГОДНЯ часто используют, чтобы посчитать, сколько дней прошло с указанной даты до сегодняшнего дня.
Использовать можно те же способы, которые мы рассмотрели выше, только вместо более поздней даты подставлять функцию СЕГОДНЯ.
Пример с использованием простого вычитания дат.
Пример с использованием функции РАЗНДАТ. Обратите внимание, что функция СЕГОДНЯ всегда указывается как второй аргумент.
В этой статье мы узнали, как в excel рассчитать количество дней между двумя датами.
Мы ВКонтакте
Вам может быть интересно: