Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции ДОЛЯГОДА в Microsoft Excel.
Описание
ДОЛЯГОДА возвращает долю года, которую составляет количество дней между двумя датами (начальной и конечной). Функцию ДОЛЯГОДА можно использовать для определения доли годовых доходов или выплат, приходящейся на указанный период.
Синтаксис
ДОЛЯГОДА(нач_дата;кон_дата;[базис])
Аргументы функции ДОЛЯГОДА описаны ниже.
-
нач_дата — обязательный аргумент. Начальная дата.
-
кон_дата Обязательный. Конечная дата.
-
Базис — необязательный аргумент. Используемый способ вычисления дня.
Базис |
Способ вычисления дня |
---|---|
0 или опущен |
Американский (NASD) 30/360 |
1 |
Фактический/фактический |
2 |
Фактический/360 |
3 |
Фактический/365 |
4 |
Европейский 30/360 |
Важно:
-
Даты должны быть введены с использованием функции ДАТА или как результат вычисления других формул и функций. Например, для указания даты 23 мая 2018 г. воспользуйтесь выражением ДАТА(2018,5,23). Если ввести даты как текст, это может привести к возникновению проблем.
-
Функция ДОЛЯГОДА может возвращать неверный результат при использовании базиса «Американский (NASD) 30/360», а аргументом нач_дата будет последний день февраля.
Замечания
-
В приложении Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2018 года — 43101, так как интервал между этими датами составляет 43 101 дней.
-
Все аргументы усекаются до целых.
-
Если аргумент нач_дата или кон_дата является недопустимой датой, функция ДОЛЯГОДА возвращает значение ошибки #ЗНАЧ! значение ошибки #ЗНАЧ!.
-
Если базис < 0 или базис > 4 функция ДОЛЯГОДА возвращает значение ошибки #ЧИСЛО!. значение ошибки.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
Описание |
|
---|---|---|
01.01.2012 |
Начальная дата |
|
30.07.2012 |
Конечная дата |
|
Формула |
Описание |
Результат |
=ДОЛЯГОДА(A2;A3) |
Доля года между 01.01.2012 и 30.07.2012 без аргумента «базис». |
0,58055556 |
=ДОЛЯГОДА(A2;A3;1) |
Доля между теми же датами с использованием базиса фактический/фактический. Так как 2012 год високосный, его базис составляет 366 дней. |
0,57650273 |
=ДОЛЯГОДА(A2;A3;3) |
Доля между теми же датами с использованием базиса фактический/365. Используется базис, составляющий 365 дней. |
0,57808219 |
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Функция ДОЛЯГОДА предназначена для расчета части года в виде десятичной дроби на основе имеющихся данных о дате начала и окончания какого-либо события, и возвращает соответствующее числовое значение.
Данная функция широко используется в финансовых расчетах, а также для определения количества времени в годах, прошедшего после некоторого события (например, возраст человека, время, прошедшее после последнего отпуска работника и т. д.).
Примеры использования функций ДОЛЯГОДА и РАЗНДАТ в Excel
Пример 1. В таблице содержатся данные о дате приема на работу сотрудников некоторого предприятия. Рассчитать число полных лет, которые проработал каждый сотрудник с округлением до меньшего в любом случае (усечением).
Вид таблицы данных:
Для расчета используем формулу:
Функция ОТБР усекает дробную часть значения, рассчитанного с помощью функции ДОЛЯГОДА для даты указанной в ячейке B2 и текущей (функция СЕГОДНЯ).
Растянем формулу вниз по столбцу C и получим результаты для всех сотрудников:
Внимание! Для решения подобного рода задач рационально использовать более точную и простую функцию =РАЗНДАТ(), как показано ниже на рисунке:
Читайте также: Пример функции РАЗНДАТ для расчета времени между датами в Excel.
Функцию ДОЛЯГОДА лучше использовать в бухгалтерских расчетах при начислениях гонораров либо выплат финансовых обязательств, припадающих на определенный период времени. Ниже в следующем примере рассмотрим, как можно еще более удобно использовать функцию там ДОЛЯГОДА, где не так уж эффективна конкурирующая функция РАЗНДАТ.
Примечание:
Функция ДОЛЯГОДА не может быть использована как формула массива, поэтому запись {=ДОЛЯГОДА(B3:B10;СЕГОДНЯ())} приведет к возникновению ошибки #ЗНАЧ!
Пример расчета доли года в процентах в Excel
Пример 2. Для второго примера смоделируем следующую ситуацию. Девелоперская компания на протяжении 5-ти лет ежегодна сдавала по 1-му проекту в год. После каждой даты сдачи до конца года оставалось еще резервное время.
Необходимо составить элемент отчета для визуального анализа из линейчатой с накоплением гистограммы на которой будет отображаться оставшееся резервное время до конца года сдачи для каждого проекта.
Для построения графика следует подготовить исходные данные. Каждый год будет разделен на две доли. Первая доля используемой части времени текущего года на завершение текущего проекта. А вторая доля года будет значением той части времени которая осталась до конца текущего года.
Составьте таблицу с исходными данными (как показано нижнее на рисунке), в которой в третьем столбце используется формула:
Особенности синтаксиса функции ДОЛЯГОДА в Excel
Функция имеет следующий синтаксис записи аргументов:
=ДОЛЯГОДА(нач_дата;кон_дата;[базис])
Описание аргументов:
- нач_дата – обязательный для заполнения, принимает числовое значение или данные формата Дата, определяющие момент начала какого-либо события, который служит точкой отсчета для определения разницы дат.
- кон_дата – обязательный для заполнения, принимает число или дату, соответствующую моменту окончания некоторого события.
- [базис] – необязательный для заполнения, принимает числовое значение из диапазона от 0 до 4 (включительно), характеризующие способ определения доли года (по различным стандартам):
- 0 – стандарт NASD (30/360), используется по умолчанию, если аргумент явно не указан;
- 1 – фактический/фактический;
- 2 – фактический/360;
- 3 – фактический/365;
- 4 – Европейский (30/360).
Примечания:
- В качестве значений первого и второго аргументов можно указывать числовые данные (поскольку даты в Excel хранятся в виде чисел), ссылки на ячейки с числами, а также данные в формате Дата или ссылки на ячейки, содержащие даты. Например, =ДОЛЯГОДА(34568;40100) вернет значение 15,144.
- Использование текстовых представлений дат в качестве двух первых аргументов рассматриваемой функции не рекомендуется. Например, запись типа =ДОЛЯГОДА(«10.02.12″;»8.05.19») может привести к возникновению ошибки в расчетах. Указанные даты следует ввести с использованием функции ДАТА.
- Результат расчета функции ДОЛЯГОДА может быть некорректным, если в качестве аргумента [базис] был указан стандарт NAND (введено число 0 или аргумент явно не задан) и при этом датой начала некоторого события (аргумент нач_дата) является последний день февраля.
- Любые числа, указанные в качестве любого из аргументов, усекаются до целых. То есть, рассматриваемая функция выполняет расчеты с точностью до 1 дня (даты хранятся в виде чисел, обозначающих число дней, прошедших с 1.01.1900).
- Значение первого аргумента может превышать значение второго (то есть, фактически нач_дата принимает значение даты момента окончания некоторого события и наоборот). Это не приводит к возникновению ошибки, возвращаемое значение принадлежит к диапазону положительных чисел. Например, =ДОЛЯГОДА(40000;30000) вернет значение 27,38.
- Если любой из первых двух аргументов принимает значение, не являющееся допустимой датой, рассматриваемая функция вернет код ошибки #ЗНАЧ!
- Если последний аргумент указан числом из вне диапазона допустимых значений, результат выполнения функции – код ошибки #ЧИСЛО!.
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. Если вам понравились инструменты и вы решили получить лицензию, не пропустите это специальное предложение для читателей нашего сайта.
Надеюсь, из рассмотренных нами вариантов вы сможете выбрать для себя самый наилучший и удобный, чтобы посчитать возраст человека по дате его рождения.
Также рекомендуем почитать о работе с датами:
В этом учебном материале вы узнаете, как использовать Excel функцию ДОЛЯГОДА с синтаксисом и примерами.
Описание
Microsoft Excel функция ДОЛЯГОДА возвращает количество дней между двумя датами в виде доли года.
Функция ДОЛЯГОДА — это встроенная в Excel функция, которая относится к категории функций даты и времени.
Её можно использовать как функцию рабочего листа (WS) в Excel.
В качестве функции рабочего листа функцию ДОЛЯГОДА можно ввести как часть формулы в ячейку рабочего листа.
Синтаксис
Синтаксис функции ДОЛЯГОДА в Microsoft Excel:
ДОЛЯГОДА(нач_дата;кон_дата;[базис])
Аргументы или параметры
- нач_дата
- Дата начала для использования в вычислении, и ее следует вводить как серийную дату, а не как текстовую дату.
- кон_дата
- Конечная дата для использования в расчетах. Ее следует вводить как серийную дату, а не как текстовую дату.
- базис
- Необязательно. Это основа, используемая для расчета доли года. Это может быть одно из следующих значений:
Значение Пояснение 0 (по умолчанию) US 30 (NASD) / 360 1 Фактические дни / Фактические дни в году 2 Фактические дни / 360 3 Фактические дни / 365 4 Европейский 30/360
Примечание
- При вычислении используется только часть даты (не время)
нач_дата
икон_дата
. - В расчетах используется только целая часть
базис
. Если указано десятичное значение, оно будет усечено. - Если либо
нач_дата
, либокон_дата
не является допустимой датой, функция ДОЛЯГОДА вернет ошибку #ЗНАЧ!. - Если целая часть
базис
не находится между 0 и 4, функция ДОЛЯГОДА вернет ошибку #ЧИСЛО!. - Серийная дата — это то, как Excel хранит даты внутри, и она представляет количество дней, прошедших с 1 января 1900 года.
Возвращаемое значение
Функция ДОЛЯГОДА возвращает числовое значение.
Применение
- Excel для Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 для Mac, Excel 2010, Excel 2007
Тип функции
- Функция рабочего листа (WS)
Пример (как функция рабочего листа)
Давайте рассмотрим несколько примеров функции ДОЛЯГОДА чтобы понять, как использовать Excel функцию ДОЛЯГОДА в качестве функции рабочего листа в Microsoft Excel:
В таблице выше даты в столбцах A и B введены как серийные даты. Чтобы увидеть числовое значение для любой серийной даты, измените формат ячейки на Общий. На основе приведенной выше электронной таблицы Excel будут возвращены следующие примеры функции ДОЛЯГОДА:
=ДОЛЯГОДА(A2;B2) Результат: 0.83333333 =ДОЛЯГОДА(A3;B3) Результат: 0.25 =ДОЛЯГОДА(A4;B4) Результат: 0.5 =ДОЛЯГОДА(A5;B5) Результат: 1 |
Вы также можете ввести значения даты с помощью функции ДАТА следующим образом:
=ДОЛЯГОДА(«01.01.2020»;«31.12.2020») |
Эта формула вернет долю года между 1 янв 2020 г. и 31 дек 2020 г.
См. также пример как рассчитать годы между двумя датами.
На чтение 8 мин. Просмотров 18.8k.
Содержание
- Рассчитать совпадение дат в днях
- Рассчитать оставшиеся дни
- Рассчитать истекшее рабочее время
- Рассчитать срок годности
- Рассчитать дату выхода на пенсию
- Рассчитать года между датами
Рассчитать совпадение дат в днях
= МАКС(МИН(конец1; конец2) -МАКС(начало1; начало2) +1;0)
Чтобы вычислить количество дней, которые перекрываются в двух диапазонах дат, вы можете использовать арифметику с базовыми датами вместе с функциями МИН и MAКС.
В показанном примере формула в D5:
=МАКС(МИН($G$6;C5)-МАКС($G$5;B5);0)
Даты Excel — это просто серийные номера, поэтому вы можете рассчитать длительность путем вычитания более ранней даты из более поздней даты.
Вот что происходит в основе формулы здесь:
MИН (конец; C6) -MAКС (начало; B6) +1
Здесь просто вычитают более раннюю дату из более поздней даты. Чтобы определить, какие даты использовать для каждого сравнения диапазона дат, мы используем MИН для получения самой ранней даты окончания, а MAКС — для последней даты окончания.
Мы добавляем 1 к результату, чтобы убедиться, что мы считаем «столбы забора», а не «промежутки между столбами забора» (аналогия с Джоном Уокенбахом из Библии Excel 2010).
Наконец, мы используем функцию MAКС для захвата отрицательных значений и возврата нуля. Использование MAКС,таким образом, умный способ избежать использования ЕСЛИ.
Рассчитать оставшиеся дни
= Конец даты-начало даты
Чтобы вычислить дни, оставшиеся от одной даты к другой, вы можете использовать простую формулу, которая вычитает более раннюю дату из более поздней даты.
В показанном примере формула в D5:
= C5-B5
Даты в Excel — это только серийные номера, которые начинаются 1 января 1900 года. Если вы введете 1/1/1900 в Excel и отформатируете результат в формате «Общий», вы увидите цифру 1.
Это означает, что вы можете легко рассчитать дни между двумя датами, вычитая более раннюю дату из более поздней даты.
В показанном примере формула решается следующим образом:
= C5-B5
= 42735-42370
= 365
Если вам необходимо рассчитать оставшиеся дни, используйте функцию СЕГОДНЯ следующим образом:
= Конец даты-СЕГОДНЯ()
Функция СЕГОДНЯ всегда возвращает текущую дату. Обратите внимание, что после того, как Конец даты прошел, вы начнете видеть отрицательные результаты, потому что значение, возвращаемое СЕГОДНЯ, будет больше, чем конечная дата.
Вы можете использовать эту версию формулы, чтобы отсчитывать дни до важных событий или этапов, подсчитывать дни до истечения срока членства и т. д.
Рассчитать истекшее рабочее время
= Конец-начало
Если вам нужно вычислить затраченное время, вы можете использовать простую формулу, которая вычитает время начала с момента окончания. Однако, когда время пересекает суточный рубеж, все может стать сложнее. Ниже приведено несколько способов, чтобы вычислить затраченное время, в зависимости от ситуации.
В Excel один день (24 часа) обозначается цифрой 1. Таким образом, 1 час — это 0.041666667 (то есть 1/24), 8 часов — 0,333, 12 часа — 0,50 и так далее. Короче говоря, вы можете думать о часах как о дробных частях дня.
Когда время начала и окончания одновременно в один и тот же день, тогда время начала по определению меньше времени окончания, и вы можете использовать простое вычитание, чтобы определить прошедшее время. Например, при стартовом времени 9:00 и в конце времени 17:00, вы можете просто использовать эту формулу:
конец — начало = прошедшее время
0;375 — 0;708 = 0;333 // 8 часов
Для форматирования прошедших часов может быть полезно использовать пользовательский формат, например ч: мм или [ч]: мм
Специальный синтаксис квадратных скобок [ч] указывает Excel на то, что продолжительность более 24 часов. Если вы не используете скобки, Excel просто обнулится, когда продолжительность будет 24 часа (например, часы).
Вычисление пройденного времени более сложно, если время пересекает дневную границу. Например, если время начала — 22:00 один день, а время окончания — 5:00 на следующий день, время окончания на самом деле меньше времени начала, а приведенная выше формула вернет отрицательное значение, которое вызовет Excel для отображения строки символов хеша (т. Е. ########).
Чтобы исправить эту проблему, вы можете использовать эту формулу для времен, пересекающих суточную границу:
= 1-конец + начало
Вычитая время начала с 1, вы получаете количество времени в первый день, который вы можете просто добавить к количеству времени во второй день, который совпадает со временем окончания.
Эта формула не будет работать для раз в тот же день, поэтому мы можем обобщить и комбинировать обе формулы внутри оператора ЕСЛИ следующим образом:
= ЕСЛИ(конец> начало; конец-начало; 1-начало + конец)
Теперь, когда оба времени в один и тот же день, где конец больше времени начала, поэтому используется простая формула. Но когда время на дневной границе используется вторая формула.
Это можно еще более упростить до этой элегантной формулы:
= ОСТАТ(конечный старт; 1)
Здесь функция ОСТАТ заботится о негативной проблеме, используя функцию ОСТАТ для «переворачивания» отрицательных значений в требуемое положительное значение.
Таким образом, приведенные выше формулы будут обрабатывать любой случай (оба раза в тот же день или начало в один день и в конце в следующего). Однако учтите, что они работают только на время, охватывающие всего один день. Если время превышает один день, вам потребуется другой подход. Один из подходов заключается в использовании как даты, так и времени, как описано ниже.
Если вам не нравится сложность вышеперечисленных решений или вам нужно рассчитать затраченное время, которое занимает более одного дня, просто исправить это просто добавить значение даты как в начале, так и в конце. Например, вы можете ввести 1 сентября 2016 года в 9:00, как показано ниже, с единственным промежутком времени между датой и временем:
9.09.2013 10:00
Поскольку в нем хранятся и дата, и время, вы всегда можете вычесть начало с конца и получить правильный результат.
Например, чтобы рассчитать истекшие часы с 1 сентября 2016 года в 9:00 и 3 сентября в 10:00, введите оба значения как даты плюс время, затем вычтите начало с конца и используйте [ч]: мм для форматирования результата.
Обратите внимание: когда вы используете дату и время, вы можете форматировать значения любым способом. Вы можете применить формат, который показывает дату со временем, или формат, который отображает только время.
В этом примере используется формула в D8. Формула проста:
= C8-B8
Результат равен 2.042, который при форматировании с использованием [ч]: мм составляет 49:00 часов.
Рассчитать срок годности
= A1 + 30 // 30 дней
Чтобы вычислить срок действия в будущем, вы можете использовать различные формулы. В показанном примере формулы, используемые в столбце D:
= B5 + 30 // 30 дней
= B5 + 90 // 90 дней
= КОНМЕСЯЦА (B7;0) // конец месяца
= ДАТАМЕС (B8;1) // следующий месяц
= КОНМЕСЯЦА (B7;0) +1 // 1-го числа следующего месяца
= ДАТАМЕС(B10;12) // 1 год
В Excel даты — это просто серийные номера. В стандартной системе дат для окон, основанной в 1900 году, где 1 января 1900 года является номером 1. Это означает, что 1 января 2050 года серийный номер 54789.
Если вы рассчитываете дату n дней в будущем, вы можете добавлять дни непосредственно, как в первых двух формулах.
Чтобы рассчитывать по месяцам, вы можете использовать функцию ДАТАМЕС, которая возвращает ту же дату n месяцев в будущем или в прошлом.
Для расчета срока годности в конце месяца, используйте функцию КОНМЕСЯЦА, которая возвращает последний день месяца, n месяцев в будущем или в прошлом.
Самый простой способ рассчитать 1-й день месяца — использовать КОНМЕСЯЦА, чтобы получить последний день предыдущего месяца, а затем просто добавить 1 день.
Рассчитать дату выхода на пенсию
= ДАТАМЕС(A1;12 * 60)
Чтобы рассчитать дату выхода на пенсию на основе даты рождения, вы можете использовать функцию ДАТАМЕС.
В показанном примере формула в D5:
=ДАТАМЕС(C5;12*60)
Функция ДАТАМЕС является полностью автоматической и возвращает дату месяцев в будущем или прошлом, когда дана дата и количество месяцев, которые нужно пройти.
В этом случае мы хотим, чтобы дата в будущем составляла 60 лет, начиная с даты рождения, поэтому мы можем написать такую формулу для данных в примере:
= ДАТАМЕС(C6;12 * 60)
Дата начинается с даты рождения в столбце С (дат рождения). Нам требуется эквивалент 60 лет в месяцах. Поскольку вы, вероятно, не знаете, сколько месяцев в 60 годах, хороший способ решения данного вопроса — встроить математику для этого вычисления непосредственно в формулу:
12 * 60
Excel решит это (720), а затем отправит в ДАТАМЕС. Вклад расчетов, таким образом, может помочь сделать предположения и цель аргумента понятными.
Примечание: ДАТАМЕС возвращает дату в формате серийного номера Excel, поэтому убедитесь, что вы применяете форматирование даты.
Формула, используемая для получения оставшихся лет:
= ДОЛЯГОДА (СЕГОДНЯ (); D6)
Вы можете использовать этот же подход для расчета возраста от даты рождения.
Что, если вы просто хотите знать год выхода на пенсию? В этом случае вы можете отформатировать дату, возвращенную ДАТАМЕС, в формате пользовательских чисел «гггг», или, если вы действительно хотите только год, вы можете заключить результат в функцию ГОД следующим образом:
= ГОД (ДАТАМЕС(A1;12 * 60))
Эта же идея может быть использована для расчета дат для широкого спектра вариантов использования:
- Срок действия гарантии
- Срок действия членства
- Дата окончания рекламного периода
- Истечение срока годности
- Даты осмотра
- Срок действия сертификата
Рассчитать года между датами
= ДОЛЯГОДА (нач_дата; кон_дата)
Если вы хотите вычислить количество лет между двумя датами, вы можете использовать функцию ДОЛЯГОДА, которая будет возвращать десятичное число, представляющее долю года между двумя датами. Вот несколько примеров результатов, которые ДОЛЯГОДА вычисляет:
дата начала (1/1/2015) дата окончания ( 1/1/2016) результат ДОЛЯГОДА(1)
дата начала (6/1/2000) дата окончания (6/25/1999) результат ДОЛЯГОДА(0.9333)
Если у вас есть десятичное значение, вы можете округлить число, если хотите. Например, вы можете округлить до ближайшего целого числа:
= ОКРУГЛ(ДОЛЯГОДА (A1; B1); 0)
Вы также можете сохранить только целую часть результата без дробного значения, так что вы будете считать только целые годы. В этом случае вы можете просто обернуть ДОЛЯГОДА в функцию ЦЕЛОЕ:
= ЦЕЛОЕ(ДОЛЯГОДА(A1; B1))