ZVI Пользователь Сообщений: 4328 |
Видел кратко сегодня 2 темы Лунтика по замене скрытой функции РАЗНДАТ на обычные формулы. источника , то выложу здесь вариант для дат, больших текущей, аналогично использованию РАЗНДАТ с параметрами «m» и «md». В столбце F — формулы с использованием РАЗНДАТ а в столбце G — обычными формулами. |
БМВ Модератор Сообщений: 21386 Excel 2013, 2016 |
ZVI, Владимир, добрый день. В указанной первой теме Лунтик так и не смог пояснить «правил игры» по этому и закрыли на четвертом листе первую. что касается техники, то по прежнему остается открытый вопрос,
, то есть между 28.02.2019 и 29.02.2020 12 месяцев или 12 месяцев и 1 день. Изменено: БМВ — 07.02.2019 20:31:39 По вопросам из тем форума, личку не читаю. |
ZVI Пользователь Сообщений: 4328 |
Михаил, добрый вечер, я специально не вникал в нюансы Fuzzy Logic темы, а лишь изобразил прямой аналог РАЗНДАТ по результату, так как где-то там звучало, что в ОpenОffice нет такой функции. А сойдет или нет — мне не очень-то и важно Изменено: ZVI — 07.02.2019 22:21:15 |
ZVI Пользователь Сообщений: 4328 |
На всякий случай, когда-то уже приводил примеры ошибок функции РАЗНДАТ в теме Разница дат Причем, у разных версий Office попадались свои ошибки. |
Лунтик Пользователь Сообщений: 213 |
ZVI, смотрите, для сегодняшнего дня у Вас в ячейке C24 10 мес 30 дн, а должно быть 10 мес 27 дн. То есть месяцы должны считаться календарные. Подскажите, пожалуйста, как поправить формулу? Ребята, вот мне реально не понятно, — что Вам не понятно. Есть рабочие формулы Михаила Витальевича С. и ZVI. Их нужно лишь чуть-чуть переделать. Всё вроде объяснено и в файле показано. Что не понятно? |
БМВ Модератор Сообщений: 21386 Excel 2013, 2016 |
Вы напишите как вы считает и почему это так, какие дни входят и почему именно так, только не так как файле: A и B должно быть С. Про всю бесполезность такого отображения этого Вам уже написали ранее. Это все равно что навигатор бы подсказывал, что через 100км 431м 24см вам резко вправо. По вопросам из тем форума, личку не читаю. |
Лунтик Пользователь Сообщений: 213 |
#7 11.02.2019 14:25:58
Так мне именно это и нужно.
Считаем для ячейки С24: 10 месяцев — это понятно — дней: 17 дней в этом феврале оставшихся + 10 дней января 2020 = 27 дней. Подскажите, пожалуйста, как исправить формулу. |
||||
ZVI Пользователь Сообщений: 4328 |
=12*(ГОД(C24)-ГОД(СЕГОДНЯ()))+МЕСЯЦ(C24)-МЕСЯЦ(СЕГОДНЯ())-(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ()))&» мес «&ЕСЛИ(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ());ДЕНЬ(C24)+ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0))-ДЕНЬ(СЕГОДНЯ());ДЕНЬ(C24)-ДЕНЬ(СЕГОДНЯ()))&» дн» или немного покороче: Изменено: ZVI — 11.02.2019 15:18:55 |
БМВ Модератор Сообщений: 21386 Excel 2013, 2016 |
#9 11.02.2019 15:12:30
а теперь все тоже про с23 4 мес 45 дней устроит? 17 в феврале и 28 в июне — так? Изменено: БМВ — 11.02.2019 15:20:26 По вопросам из тем форума, личку не читаю. |
||
ZVI Пользователь Сообщений: 4328 |
#10 11.02.2019 15:21:35
Михаил, да вроде учел же ж )) Прикрепленные файлы
Изменено: ZVI — 11.02.2019 15:26:19 |
||
Лунтик Пользователь Сообщений: 213 |
#11 11.02.2019 15:25:06 Меня английский эксель. Вставляю руками — формула как-то меняется. Покажите в файле, пожалуйста.
Так тут уже за 31 день. Нужно КАЛЕНДАРНЫЕ месяцы считать. |
||
ZVI Пользователь Сообщений: 4328 |
#12 11.02.2019 16:13:33
К сообщению #18 прикреплен файл |
||
Лунтик Пользователь Сообщений: 213 |
#13 11.02.2019 16:29:45
Было упомянуто, что это — даты сертификатов. А кто считает срок действия сертификата иначе, чем по календарным месяцам? Да и исходя из объяснений по конкретным ячейкам разве сложно было понять? |
||
Лунтик Пользователь Сообщений: 213 |
#14 11.02.2019 16:30:37 К тому же
в посте 9 |
||
ZVI Пользователь Сообщений: 4328 |
Лунтик, Вы файл смотреть-то будете? |
БМВ Модератор Сообщений: 21386 Excel 2013, 2016 |
Del Изменено: БМВ — 11.02.2019 21:57:53 По вопросам из тем форума, личку не читаю. |
Лунтик Пользователь Сообщений: 213 |
#17 11.02.2019 16:58:31
Было много работы. Посмотрел только сейчас. В ячейке C5 получается 53 мес 11 дн., а должно быть 53 мес 9 дн. Скажите, пожалуйста, как поправить формулу? |
||
ZVI Пользователь Сообщений: 4328 |
#18 11.02.2019 17:04:03
Покажите расчет, как получается 9 |
||
Михаил Витальевич С. Пользователь Сообщений: 10514 |
#19 11.02.2019 17:04:04
объясните, почему? |
||
ZVI Пользователь Сообщений: 4328 |
Посмотрите, так Вам нужно? |
Лунтик Пользователь Сообщений: 213 |
#21 11.02.2019 17:14:06 Испортилась ячейка C23: было 4 мес 17 дн — и это правильно, а стало 4 мес 15 дн. Скажите, пожалуйста, как поправить формулу?
Объясняю: 53 мес — понятно, дни: я считаю так: поставим в ячейку C5 дату 01.08.2023. Считаем: 17 дней февраля и 1 день августа — 18 дней. Вычитаем 9 дней (между 1 августа и 22 июля) и получаем 9 дней. Итого 53 мес 9 дней. |
||
ZVI Пользователь Сообщений: 4328 |
…Удалено… Изменено: ZVI — 12.02.2019 14:30:33 |
ZVI Пользователь Сообщений: 4328 |
Лунтик, посчитайте по такой логике все остальные ячейки, где дата больше текущей, и приложите результат. |
MCH Пользователь Сообщений: 3875 |
#24 11.02.2019 18:04:58 Если нужно быстро посчитать количество дней/месяцев между датами, то можно воспользоваться функцией ДНЕЙ360(), в ней есть разные варианты (методы)
РАЗНДАТ имеет определенные ошибки, Владимир дал ссылку Наверняка задача имеет свое прикладное назначение и есть методология для подсчета (лет, месяцев, дней) Постановление Правительства РФ от 24 июля 2002 г. N 555″Об утверждении Правил подсчета и подтверждения страхового стажа для установления трудовых пенсий» в п. 35 указано:
Думаю, что функция ДНЕЙ360() как раз для этого случая. |
||||
Михаил Витальевич С. Пользователь Сообщений: 10514 |
#25 11.02.2019 18:33:21
Ещё есть ДОЛЯГОДА()… тоже можно использовать, и даже формулы полегче получаются… |
||
ZVI Пользователь Сообщений: 4328 |
Лунтик, в приложенной таблице заполните, пожалуйста, столбцы C:D , а в E напишите комментарии по расчету. Изменено: ZVI — 11.02.2019 19:00:24 |
sokol92 Пользователь Сообщений: 4446 |
#27 11.02.2019 19:02:41 Здравствуйте, коллеги! Не может быть никакой логики для разности в месяцах, если ее нет для суммы.
Например, добавляя два раза по месяцу к 31.01.2019, мы получаем результат, отличающийся от добавления двух месяцев сразу на три дня. Изменено: sokol92 — 11.02.2019 19:06:39 Владимир |
||
ZVI Пользователь Сообщений: 4328 |
Методики с датами обычно все какие-то кривоватые (стаж и выслуги и т.п.), да и в VBA даты обязаны были унаследовать ошибки истории Изменено: ZVI — 12.02.2019 11:53:57 |
Лунтик Пользователь Сообщений: 213 |
#29 12.02.2019 11:42:40
Пожалуйста. Прикрепленные файлы
|
||
Сергей Пользователь Сообщений: 11251 |
#30 12.02.2019 12:11:49 вариант для дней для последнего примера
Прикрепленные файлы
Лень двигатель прогресса, доказано!!! |
||
Для вычислений длительности временных интервалов удобней всего использовать недокументированную функцию
РАЗНДАТ(
)
, английский вариант DATEDIF().
Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье
Расчет страхового (трудового) стажа в MS EXCEL
.
Функции
РАЗНДАТ(
)
нет в справке EXCEL2007 и в
Мастере функций
(
SHIFT
+
F
3
), но она работает, хотя и не без огрех.
Синтаксис функции:
РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)
Аргумент
начальная_дата
должна быть раньше аргумента
конечная_дата
.
Аргумент
способ_измерения
определяет, как и в каких единицах будет измеряться интервал между начальной и конечной датами. Этот аргумент может принимать следующие значения:
|
|
«d» |
разница в днях |
«m» |
разница в полных месяцах |
«y» |
разница в полных годах |
«ym» |
разница в полных месяцах без учета лет |
«md» |
разница в днях без учета месяцев и лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже. |
«yd» |
разница в днях без учета лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом. |
Ниже приведено подробное описание всех 6 значений аргумента
способ_измерения
, а также альтернативных формул (функцию
РАЗНДАТ()
можно заменить другими формулами (правда достаточно громоздкими). Это сделано в
файле примера
).
В файле примера значение аргумента
начальная_дата
помещена в ячейке
А2
, а значение аргумента
конечная_дата
– в ячейке
В2
.
1. Разница в днях («d»)
Формула
=РАЗНДАТ(A2;B2;»d»)
вернет простую разницу в днях между двумя датами.
Пример1:
начальная_дата
25.02.2007,
конечная_дата
26.02.2007
Результат:
1 (день).
Этот пример показыват, что при подсчете стажа необходимо использовать функцию
РАЗНДАТ()
с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).
Пример2:
начальная_дата
01.02.2007,
конечная_дата
01.03.2007
Результат:
28 (дней)
Пример3:
начальная_дата
28.02.2008,
конечная_дата
01.03.2008
Результат:
2 (дня), т.к. 2008 год — високосный
Эта формула может быть заменена простым выражением
=ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2)
. Функция
ЦЕЛОЕ()
округляет значение до меньшего целого и использована для того случая, если исходные даты введены вместе с временем суток (
РАЗНДАТ()
игнорирует время, т.е. дробную часть числа, см. статью
Как Excel хранит дату и время
).
Примечание
: Если интересуют только рабочие дни, то к
оличество рабочих дней
между двумя датами можно посчитать по формуле
=ЧИСТРАБДНИ(B2;A2)
2. Разница в полных месяцах («m»)
Формула
=РАЗНДАТ(A2;B2;»m»)
вернет количество полных месяцев между двумя датами.
Пример1:
начальная_дата
01.02.2007,
конечная_дата
01.03.2007
Результат:
1 (месяц)
Пример2:
начальная_дата
01.03.2007,
конечная_дата
31.03.2007
Результат:
0
При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция
РАЗНДАТ()
так не считает!
Пример3:
начальная_дата
01.02.2007,
конечная_дата
01.03.2009
Результат:
25 месяцев
Формула может быть заменена альтернативным выражением:
=12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)<ДЕНЬ(A2))
Внимание
: В справке MS EXCEL (см. раздел Вычисление возраста) имеется кривая формула для вычисления количества месяце между 2-мя датами:
=(ГОД(ТДАТА())-ГОД(A3))*12+МЕСЯЦ(ТДАТА())-МЕСЯЦ(A3)
Если вместо функции ТДАТА() — текущая дата использовать дату 31.10.1961, а в А3 ввести 01.11.1962, то формула вернет 13, хотя фактически прошло 12 месяцев и 1 день (ноябрь и декабрь в 1961г. + 10 месяцев в 1962г.).
3. Разница в полных годах («y»)
Формула
=РАЗНДАТ(A2;B2;»y»)
вернет количество полных лет между двумя датами.
Пример1:
начальная_дата
01.02.2007,
конечная_дата
01.03.2009
Результат:
2 (года)
Пример2:
начальная_дата
01.04.2007,
конечная_дата
01.03.2009
Результат:
1 (год)
Подробнее читайте в статье
Полный возраст или стаж
.
Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))<=B2; ГОД(B2)-ГОД(A2);ГОД(B2)-ГОД(A2)-1)
4. Разница в полных месяцах без учета лет («ym»)
Формула
=РАЗНДАТ(A2;B2;»ym»)
вернет количество полных месяцев между двумя датами без учета лет (см. примеры ниже).
Пример1:
начальная_дата
01.02.2007,
конечная_дата
01.03.2009
Результат:
1 (месяц), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.02.
2009
(год начальной даты заменяется годом конечной даты, т.к. 01.02
меньше
чем 01.03)
Пример2:
начальная_дата
01.04.2007,
конечная_дата
01.03.2009
Результат:
11 (месяцев), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.04.
2008
(год начальной даты заменяется годом конечной даты
за вычетом 1 года
, т.к. 01.04
больше
чем 01.03)
Вся эта вакханалия нужна, например, для подсчета сколько полных дней, месяцев и лет прошло с определенной даты до сегодняшнего дня. Подробнее читайте в одноименной статье
Сколько лет, месяцев, дней прошло с конкретной даты
.
Формула может быть заменена альтернативным выражением:
=ОСТАТ(C7;12)
В ячейке
С7
должна содержаться разница в полных месяцах (см. п.2).
5. Разница в днях без учета месяцев и лет («md»)
Формула
=РАЗНДАТ(A2;B2;»md»)
вернет количество дней между двумя датами без учета месяцев и лет. Использовать функцию
РАЗНДАТ()
с этим аргументом не рекомендуется (см. примеры ниже).
Пример1:
начальная_дата
01.02.2007,
конечная_дата
06.03.2009
Результат1:
5 (дней), т.к. сравниваются конечная дата 06.03.2009 и модифицированная начальная дата 01.
03
.
2009
(год и месяц начальной даты заменяется годом и месяцем конечной даты, т.к. 01
меньше
чем 06)
Пример2:
начальная_дата
28.02.2007,
конечная_дата
28.03.2009
Результат2:
0, т.к. сравниваются конечная дата 28.03.2009 и модифицированная начальная дата 28.
03
.
2009
(год и месяц начальной даты заменяется годом и месяцем конечной даты)
Пример3:
начальная_дата
28.02.2009,
конечная_дата
01.03.2009
Результат3:
4 (дня) — совершенно непонятный и НЕПРАВИЛЬНЫЙ результат. Ответ должен быть =1. Более того, результат вычисления зависит от версии EXCEL.
Версия EXCEL 2007 с SP3:
Результат – 143 дня! Больше чем дней в месяце!
Версия EXCEL 2007:
Разница между 28.02.2009 и 01.03.2009 – 4 дня!
Причем в EXCEL 2003 с SP3 формула возвращает верный результат 1 день. Для значений 31.12.2009 и 01.02.2010 результат вообще отрицательный (-2 дня)!
Не советую использовать формулу с вышеуказанным значением аргумента. Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2); ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2); ДЕНЬ(B2)-ДЕНЬ(A2))
Данная формула лишь эквивалетное (в большинстве случаев) выражение для
РАЗНДАТ()
с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.
6. Разница в днях без учета лет («yd»)
Формула
=РАЗНДАТ(A2;B2;»yd»)
вернет количество дней между двумя датами без учета лет. Использовать ее не рекомендуется по причинам, изложенным в предыдущем пункте.
Результат, возвращаемый формулой
=РАЗНДАТ(A2;B2;»yd»)
зависит от версии EXCEL.
Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2; B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2)); B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))
Еще раз о кривизне РАЗНДАТ()
Найдем разницу дат 16.03.2015 и 30.01.15. Функция
РАЗНДАТ()
с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?
Имея формулу, эквивалентную
РАЗНДАТ()
, можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты =
ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6)
, т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?
Модифицируем формулу для расчета дней разницы без учета месяцев и лет:
=
ЕСЛИ(ДЕНЬ(A18)>ДЕНЬ(B18);ЕСЛИ((ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18))<0;ДЕНЬ(B18);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18)+ДЕНЬ(B18));ДЕНЬ(B18)-ДЕНЬ(A18))
При применении новой функции необходимо учитывать, что разница в днях будет одинаковой для нескольких начальных дат (см. рисунок выше, даты 28-31.01.2015). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.
замена формулы разндат |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
РАЗНДАТ(. ) / DATEDIF(. )
Вычисляет количество дней, месяцев или лет между двумя датами.
ЭТОГО НЕТ В ОФИЦИАЛЬНОЙ СПРАВКЕ EXCEL:
Собственно говоря, самой функции РАЗНДАТ нет в справке Excel. Более того нет её и в мастере функций. И при наборе вручную первых букв названия функции Excel тоже не покажет подсказку в выпадающем списке. Объясняется это довольно просто. Эта функция изначально не является функцией Excel. Она всего лишь поддерживается Excel для совместимости с другими системами электронных таблиц. В Excel эта функция попала из электронных таблиц Lotus 1-2-3. НО работает эта функция в любой версии Excel
СИНТАКСИС:
=РАЗНДАТ(нач_дата;кон_дата;код)
АРГУМЕНТЫ:
1. нач_дата — нач альная дата.
2. кон_дата — конечная дата.
3. код — текстовое значение, которое указывает в каких единицах необходимо вернуть разницу дат.
Список допустимых значений аргумента «КОД»
КОД | ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ | |
---|---|---|
«Г» | «Y» | Число полных лет в периоде. |
«М» | «M» | Число полных месяцев в периоде. |
«Д» | «D» | Число дней в периоде. |
«МД» | «MD» | Разница между днями дат нач_дата и кон_дата. Месяцы и годы дат игнорируются. |
«ГМ» | «YM» | Разница между месяцами дат нач_дата и кон_дата. Дни и годы дат игнорируются. |
«ГД» | «YD» | Разница между днями дат нач_дата и кон_дата. Годы дат игнорируются. |
ОГРАНИЧЕНИЯ:
Если аргумент кон_дата соответствует более ранней дате чем аргумент нач_дата функция вернёт значение ошибки #ЧИСЛО.
Если какой-либо из аргументов нач_дата или кон_дата не являются допустимой датой, то функция вернёт значение ошибки #ЗНАЧ.
Расчет количества дней между датами в Эксель
Довольно часто при работе датами в таблице Эксель возникает необходимость определения временного промежутка между ними, который измеряется в днях. В Excel существуют различные способы для выполнения данной задачи. Давайте рассмотрим их.
Расчет разности дат
Для корректной работы с датами сперва нужно задать ячейкам соответствующий формат. В противном случае возможны проблемы с корректным отображением дат, что сделает невозможным их дальнейшую обработку.
На самом деле Эксель способен самостоятельно определять формат ячейки после ввода в нее информации. Но этот механизм не всегда срабатывает как надо, поэтому стоит заранее самостоятельно настроить формат ячеек или проверить, правильно ли его определила программа.
- Для начала выделяем целевой диапазон ячеек, воспользовавшись зажатой левой кнопкой мыши.
- по умолчанию мы должны оказаться во вкладке “Число” (если это не так, переключаемся в нее);
- в списке “Числовые форматы” находим позицию “Дата” и кликаем на нее;
- в поле “Тип” выбираем нужный образец представления данных, в соответствии с которым они будут отображаться на листе;
- нажимаем OK.
Метод 1: использование формулы вычитания
Начнем, пожалуй, с самого простого способа – вычитания двух дат, представленного в виде обычной формулы.
- Вносим две даты, между которыми будем определять разницу в днях, в две разные ячейки отформатированного ранее диапазона.
- Теперь выделим ячейку, в которой планируем отобразить результат нашего вычисления.
ВАЖНО: Количество дней обозначается простым целым числом, следовательно, ячейка для его вывода должна иметь отличный от “Дата” формат, а именно – “Общий“. В противном случае полученный результат будет отображаться в формате даты, что не позволит оценить корректность проведенных вычислений. Для определения текущего формата ячейки достаточно взглянуть на соответствующее поле, расположенное в разделе инструментов “Число” на ленте вкладки “Главная“.
- в итоговую ячейку вводим знак “=“;
- кликаем по ячейке с конечной датой (более поздней);
- вводим с клавиатуры символ “–” (знак минус);
- кликаем по ячейке с начальной датой.
Метод 2: функция РАЗНДАТ
Следующий способ – это определение разницы между двумя датами при помощи функции РАЗНДАТ.
Функция имеет следующий синтаксис: =РАЗНДАТ(начальная_дата;конечная_дата;единица).
Если с двумя первыми аргументами все понятно – их суть соответствует названию, то на третьем (“единица“) стоит остановиться подробнее, так как именно он позволяет варьировать результат использования функции, выбирая единицу расчета разницы между датами:
- “d” — количество дней между датами;
- “m” — количество полных месяцев между датами;
- “y” — количество полных лет между датами;
- “YM” — разница между датами в месяцах;
- “MD” — разница между датами в днях, без учета месяцев и лет;
- “YD” — разница между датами в днях, без учета лет.
В нашем случае покажем пример использование аргумента “YD”, так как целью расчета является определение количества дней между датами в пределах года.
Основное отличие от простого вычитания одной даты из другой – в порядке следования аргументов функции: в качестве первого аргумента выбирается начальная (более ранняя дата), а в качестве второго – конечная (более поздняя). Опишем ниже алгоритм вычислений.
- Выбираем целевую ячейку, проверяем ее формат по способу, описанному выше.
- Описываемая функция отсутствует в Мастере функций, поэтому вводим ее в ячейку вручную, строго придерживаясь синтаксиса.
- Жмем Enter и проверяем полученный результат. Как мы видим, он аналогичен тому, который мы получили, используя простую формулу вычитания. Значит все сделано верно.
Метод 3: функция ЧИСТРАБДНИ для определения количества рабочих дней
Третий описываемый метод позволяет вычислить количество дней с дополнительным условием – исключением из него нерабочих (выходных и праздничных) дней.
В данном методе используется функция ЧИСТРАБДНИ со следующим синтаксисом: =ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники]).
Первые два аргумента аналогичны функции РАЗНДАТ. Последний аргумент является опциональным, то есть функция будет работать и без его указания. Однако именно он позволяет учесть в критериях вычисления нерабочие праздничные дни, так как по умолчанию из общего количества уберутся только субботы и воскресенья.
Приступаем к вычислениям:
- Так как описываемая функция присутствует в списке Мастера функций, воспользуемся им для большей наглядности: встаем на ячейку, куда будем выводить результат и щелкаем по кнопке “Вставить функцию” (fx), расположенной слева от строки формул.
- В открывшемся окне Мастера функций:
- выбираем категорию “Полный алфавитный перечень”;
- находим и кликаем в списке операторов по строке “ЧИСТРАБДНИ”;
- нажимаем ОК.
- Перед нами появится окно аргументов функции. Здесь можно ввести адреса ячеек вручную или, находясь в поле для заполнения значений аргумента, кликнуть по нужной ячейке на листе. Выбрав начальную и конечную дату, а также указав праздничный день (адрес ячейки), нажимаем ОК.
- Предположим, в этот раз мы заранее не задали формат итоговой ячейки как “Общий”. Тогда мы получим результат, отображающийся в виде даты.
- Следовательно, необходимо снова проверить формат по алгоритму, описанному выше и изменить его на “Общий”.
Заключение
С помощью описанных выше методов можно достаточно легко посчитать количество дней между двумя датами, как с наличием дополнительных критериев, так и без них. Формула вычитания и функция РАЗНДАТ прекрасно подойдут для простого подсчета дней, а функция ЧИСТРАБДНИ поможет с расчетом количества именно рабочих дней между датами. Окончательный выбор зависит от поставленной перед пользователем задачи.
Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в EXCEL
Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье Расчет страхового (трудового) стажа в MS EXCEL .
Функции РАЗНДАТ( ) нет в справке EXCEL2007 и в Мастере функций ( SHIFT + F 3 ), но она работает, хотя и не без огрех.
Синтаксис функции:
РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)
Аргумент начальная_дата должна быть раньше аргумента конечная_дата .
Аргумент способ_измерения определяет, как и в каких единицах будет измеряться интервал между начальной и конечной датами. Этот аргумент может принимать следующие значения:
Значение
Описание
разница в полных месяцах
разница в полных годах
разница в полных месяцах без учета лет
разница в днях без учета месяцев и лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже.
разница в днях без учета лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом.
Ниже приведено подробное описание всех 6 значений аргумента способ_измерения , а также альтернативных формул (функцию РАЗНДАТ() можно заменить другими формулами (правда достаточно громоздкими). Это сделано в файле примера ).
В файле примера значение аргумента начальная_дата помещена в ячейке А2 , а значение аргумента конечная_дата – в ячейке В2 .
1. Разница в днях («d»)
Формула =РАЗНДАТ(A2;B2;»d») вернет простую разницу в днях между двумя датами.
Пример1: начальная_дата 25.02.2007, конечная_дата 26.02.2007 Результат: 1 (день).
Этот пример показыват, что при подсчете стажа необходимо использовать функцию РАЗНДАТ() с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).
Пример2: начальная_дата 01.02.2007, конечная_дата 01.03.2007 Результат: 28 (дней)
Пример3: начальная_дата 28.02.2008, конечная_дата 01.03.2008 Результат: 2 (дня), т.к. 2008 год — високосный
Эта формула может быть заменена простым выражением =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2) . Функция ЦЕЛОЕ() округляет значение до меньшего целого и использована для того случая, если исходные даты введены вместе с временем суток ( РАЗНДАТ() игнорирует время, т.е. дробную часть числа, см. статью Как Excel хранит дату и время ).
Примечание : Если интересуют только рабочие дни, то к оличество рабочих дней между двумя датами можно посчитать по формуле =ЧИСТРАБДНИ(B2;A2)
2. Разница в полных месяцах («m»)
Формула =РАЗНДАТ(A2;B2;»m») вернет количество полных месяцев между двумя датами.
Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2007 Результат: 1 (месяц)
Пример2: начальная_дата 01.03.2007, конечная_дата 31.03.2007 Результат: 0
При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция РАЗНДАТ() так не считает!
Пример3: начальная_дата 01.02.2007, конечная_дата 01.03.2009 Результат: 25 месяцев
Формула может быть заменена альтернативным выражением: =12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)
Внимание : В справке MS EXCEL (см. раздел Вычисление возраста) имеется кривая формула для вычисления количества месяце между 2-мя датами:
Если вместо функции ТДАТА() — текущая дата использовать дату 31.10.1961, а в А3 ввести 01.11.1962, то формула вернет 13, хотя фактически прошло 12 месяцев и 1 день (ноябрь и декабрь в 1961г. + 10 месяцев в 1962г.).
3. Разница в полных годах («y»)
Формула =РАЗНДАТ(A2;B2;»y») вернет количество полных лет между двумя датами.
Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2009 Результат: 2 (года)
Пример2: начальная_дата 01.04.2007, конечная_дата 01.03.2009 Результат: 1 (год)
Подробнее читайте в статье Полный возраст или стаж .
Формула может быть заменена альтернативным выражением: =ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))
4. Разница в полных месяцах без учета лет («ym»)
Формула =РАЗНДАТ(A2;B2;»ym») вернет количество полных месяцев между двумя датами без учета лет (см. примеры ниже).
Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2009 Результат: 1 (месяц), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.02. 2009 (год начальной даты заменяется годом конечной даты, т.к. 01.02 меньше чем 01.03)
Пример2: начальная_дата 01.04.2007, конечная_дата 01.03.2009 Результат: 11 (месяцев), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.04. 2008 (год начальной даты заменяется годом конечной даты за вычетом 1 года , т.к. 01.04 больше чем 01.03)
Вся эта вакханалия нужна, например, для подсчета сколько полных дней, месяцев и лет прошло с определенной даты до сегодняшнего дня. Подробнее читайте в одноименной статье Сколько лет, месяцев, дней прошло с конкретной даты .
Формула может быть заменена альтернативным выражением: =ОСТАТ(C7;12) В ячейке С7 должна содержаться разница в полных месяцах (см. п.2).
5. Разница в днях без учета месяцев и лет («md»)
Формула =РАЗНДАТ(A2;B2;»md») вернет количество дней между двумя датами без учета месяцев и лет. Использовать функцию РАЗНДАТ() с этим аргументом не рекомендуется (см. примеры ниже).
Пример1: начальная_дата 01.02.2007, конечная_дата 06.03.2009 Результат1: 5 (дней), т.к. сравниваются конечная дата 06.03.2009 и модифицированная начальная дата 01. 03 . 2009 (год и месяц начальной даты заменяется годом и месяцем конечной даты, т.к. 01 меньше чем 06)
Пример2: начальная_дата 28.02.2007, конечная_дата 28.03.2009 Результат2: 0, т.к. сравниваются конечная дата 28.03.2009 и модифицированная начальная дата 28. 03 . 2009 (год и месяц начальной даты заменяется годом и месяцем конечной даты)
Пример3: начальная_дата 28.02.2009, конечная_дата 01.03.2009 Результат3: 4 (дня) — совершенно непонятный и НЕПРАВИЛЬНЫЙ результат. Ответ должен быть =1. Более того, результат вычисления зависит от версии EXCEL.
Версия EXCEL 2007 с SP3:
Результат – 143 дня! Больше чем дней в месяце!
Версия EXCEL 2007:
Разница между 28.02.2009 и 01.03.2009 – 4 дня!
Причем в EXCEL 2003 с SP3 формула возвращает верный результат 1 день. Для значений 31.12.2009 и 01.02.2010 результат вообще отрицательный (-2 дня)!
Не советую использовать формулу с вышеуказанным значением аргумента. Формула может быть заменена альтернативным выражением: =ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2); ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2); ДЕНЬ(B2)-ДЕНЬ(A2))
Данная формула лишь эквивалетное (в большинстве случаев) выражение для РАЗНДАТ() с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.
6. Разница в днях без учета лет («yd»)
Формула =РАЗНДАТ(A2;B2;»yd») вернет количество дней между двумя датами без учета лет. Использовать ее не рекомендуется по причинам, изложенным в предыдущем пункте.
Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd») зависит от версии EXCEL.
Формула может быть заменена альтернативным выражением: =ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2; B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2)); B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))
Еще раз о кривизне РАЗНДАТ()
Найдем разницу дат 16.03.2015 и 30.01.15. Функция РАЗНДАТ() с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?
Имея формулу, эквивалентную РАЗНДАТ() , можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты = ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6) , т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?
Модифицируем формулу для расчета дней разницы без учета месяцев и лет:
При применении новой функции необходимо учитывать, что разница в днях будет одинаковой для нескольких начальных дат (см. рисунок выше, даты 28-31.01.2015). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.
Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в MS EXCEL
Смотрите также правой стороне, а ее в списке промежуточный период в: Файлик бы…
где А1 — ячейка получится вставить стандартным руководствуясь при этомПреобразует дату в числовом версиях эта функция функция находит количество 1 день. Для не рекомендуется (см.
Пример1: не считает! же относится и в EXCEL 2007Для вычислений длительности временных текст по левой. мастера функций (SHIFT+F3).
Синтаксис функции:
днях, например 127.
TimSha с датой поступления
способом через окно параметрами, указывающими выходные формате в минуты. отсутствует. Например, маркер дней в предыдущем месяце значений 31.12.2009 и примеры ниже).начальная_дата 01.02.2007, конечная_датаПример3:
к расчету полных |
при сравнении дат |
интервалов удобней всего |
Значение в ячейке |
Но если просто |
В ячейку A3 введите |
: Пример, однако, неприлагаемый |
на работу, А2 |
Вставка — Функция (Insert |
дни и ихМЕСЯЦ |
версии 2013 означает, |
относительно конечной даты, 01.02.2010 результат вообщеПример1: |
отрицательный (-2 дня)! |
начальная_дата 01.02.2007, конечная_датаРезультат: |
строку формул, тоОбратите внимание, формат «Дата» размер надо… ;) увольнения., ее можно вручнуюГОД формате в месяцы. доступна в выпуске дата принадлежит марту,Не советую использовать формулу
06.03.20091 (месяц), т.к.Результат:начальная_дата 01.02.2007, конечная_дата дня, а не DATEDIF().В ячейке B7 Excel она сработает. автоматически присвоился для
1. Разница в днях («d»)
Знакомимся с формататми,или в английской версии вписать в ячейку
Преобразует дату в числовомЧИСТРАБДНИ
Excel 2013 и всех предыдущий месяц -
с вышеуказанным значениемРезультат1: сравниваются конечная дата25 месяцев 01.03.2007 1 день). ИзбегайтеЕсли Вам требуется рассчитать сам присвоил текущийФункция РАЗНДАТ поддерживает несколько ячейки A3. Не уточняем в каких Excel: с клавиатуры -
формате в год.Возвращает количество полных рабочих последующих версиях.
февраль, а в аргумента. Формула может
5 (дней), т.к. 01.03.2009 и модифицированнаяФормула может быть заменена
Результат: использования функции с стаж (страховой) в год (сейчас 2015-ый)
параметров: сложно догадаться, чтобы в начале может=DATEDIF(A1;A2;»y»)&» y. «&DATEDIF(A1;A2;»ym»)&» m. и она сработает!ДОЛЯГОДА дней между двумяФункция 2015г. в феврале быть заменена альтернативным сравниваются конечная дата начальная дата 01.02. альтернативным выражением:28 (дней)
этим аргументом. Альтернативная годах, месяцах, днях, по умолчанию. ЭтоПараметр посчитать разницу в быть «0000». Почтовый «&DATEDIF(A1;A2;»md»)&» d.»
2. Разница в полных месяцах («m»)
Синтаксис функции следующий:Возвращает долю года, которую датами.
Описание было 28 дней). выражением:
06.03.2009 и модифицированная2009
=12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)Пример3:
формула приведена ниже. то, пожалуйста, воспользуйтесь
видно при отображенииОписание датах в Excel индекс, к примеру.HoBU4OK=РАЗНДАТ(Начальная_дата; Конечная_дата; Способ_измерения)
составляет количество днейЧИСТРАБДНИ.МЕЖДДАТА
После этого отнимает=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2);
начальная дата 01.(год начальной даты
Внимание
начальная_дата 28.02.2008, конечная_дата»yd» расчетами выполненными в содержимого ячеек в»d» нужно от новейшейChe79
: Добрый день!
С первыми двумя аргументами между начальной иВозвращает количество полных рабочихВозвращает заданную дату в день начала иДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2);032009 заменяется годом конечной: В справке MS EXCEL 01.03.2008разница в днях без статье Расчет страхового (трудового)
3. Разница в полных годах («y»)
строке формул. ОбратитеКоличество полных дней даты отнять старшую
: Здравствуйте,Нашел в готовых все более-менее понятно
конечной датами. дней в интервале
числовом формате. прибавляет день конечнойДЕНЬ(B2)-ДЕНЬ(A2))
(год и месяц даты, т.к. 01.02
(см. раздел ВычислениеРезультат: учета лет
стажа в MS внимание, как изначально
»m»
4. Разница в полных месяцах без учета лет («ym»)
дату. В ячейкеесли правильно понял, решениях интересную формулу, — это ячейкиВажно:
между двумя датами,РАЗНДАТ даты =ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6), т.е.
Данная формула лишь эквивалетное начальной даты заменяется меньше чем 01.03) возраста) имеется кривая2 (дня), т.к.ВНИМАНИЕ! Функция для EXCEL. вводилось значение вКоличество полных месяцев B1 введите формулу:=A3-A1.
возможно, так? но она не со стартовой и
Вычисляемые результаты формул и руководствуясь параметрами, указывающимиВычисляет количество дней, месяцев 28-30+16=14. На наш (в большинстве случаев) годом и месяцемПример2: формула для вычисления 2008 год - некоторых версий EXCELФункции РАЗНДАТ() нет в справке A7.
»y» Соответственно мы получаем200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(РАЗНДАТ(A1;B1;»y») действует на отображение конечной датами. А некоторые функции листа выходные дни и или лет между взгляд, между датами выражение для РАЗНДАТ() конечной даты, т.к.
начальная_дата 01.04.2007, конечная_дата количества месяце между
високосный
возвращает ошибочное значение. EXCEL2007 и вНа чистом листе вКоличество полных лет количество дней между
5. Разница в днях без учета месяцев и лет («md»)
или кладите файл кол-ва дней ДО самый интересный аргумент, Excel могут несколько их количество. двумя датами. Эта все же 1 полный с параметром md.
01 меньше чем 01.03.2009 2-мя датами:
Эта формула может быть Избегайте использования функции Мастере функций ( ячейки А1:B1 введите»ym» этими двумя датами.Дата и время в начала события (не конечно, последний - отличаться на компьютерахТДАТА функция полезна в
месяц и все О корректности этой 06)
Результат:=(ГОД(ТДАТА())-ГОД(A3))*12+МЕСЯЦ(ТДАТА())-МЕСЯЦ(A3) заменена простым выражением с этим аргументом.SHIFT+F3 01.01.1900, а вКоличество полных месяцев без Excel – это находи отрицательные значения)
он определяет, каким под управлением WindowsВозвращает текущую дату и
формулах расчета возраста. дни марта, т.е формуле читайте вПример2:11 (месяцев), т.к.Если вместо функции ТДАТА() - =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2). Функция ЦЕЛОЕ()Ниже приведено подробное описание
), но она работает, ячейках A2:B2 вводим
учета летТеперь мы научимся вычислять числа сформатированные специальным
Подскажите как ее
именно образом и с архитектурой x86 время в числовом
ДАТАЗНАЧ 16 дней, а разделе «Еще разначальная_дата 28.02.2007, конечная_дата сравниваются конечная дата текущая дата использовать округляет значение до
всех 6 значений хотя и не 01.01.1901. Теперь меняем»md» возраст по дате
образом. Датой является
доработать?
в каких единицах
или x86-64 и формате.Преобразует дату из текстового не 14! Эта о кривизне РАЗНДАТ()» 28.03.2009 01.03.2009 и модифицированная дату 31.10.1961, а меньшего целого и
6. Разница в днях без учета лет («yd»)
аргумента без огрех. формат ячеек наКоличество дней без учета рождения: целая часть числа,200?’200px’:»+(this.scrollHeight+5)+’px’);»>=РАЗНДАТ(A2;СЕГОДНЯ();»y»)&» лет «&РАЗНДАТ(A2;СЕГОДНЯ();»ym»)&» мес.
будет измеряться интервал компьютерах под управлениемСЕКУНДЫ
формата в числовой. ошибка проявляется, когда
ниже.
Результат2:
начальная дата 01.04.
Еще раз о кривизне РАЗНДАТ()
в А3 ввести 01.11.1962, использована для тогоспособ_измеренияРАЗНДАТ(начальная_дата; конечная_дата; способ_измерения) «числовой» в выделенном месяцев и летНа новый лист в а время (часы «&РАЗНДАТ(A2;СЕГОДНЯ();»md»)&» дн.»
между начальной и Windows RT сПреобразует дату в числовомДЕНЬ в предыдущем месяце относительноФормула =РАЗНДАТ(A2;B2;»yd») вернет количество0, т.к. сравниваются2008 то формула вернет случая, если исходные, а также альтернативныхАргумент начальная_дата должна быть диапазоне B1:B2. Для»yd» ячейки A1:A3 введите и минуты) –Вроде все правильно конечной датами. Этот архитектурой ARM. Подробнее формате в секунды.Преобразует дату в числовом конечной даты, дней дней между двумя конечная дата 28.03.2009(год начальной даты 13, хотя фактически даты введены вместе формул (функцию РАЗНДАТ() раньше аргумента конечная_дата. этого можно нажатьКоличество дней без учета даты: 18.04.1985; 17.08.1977; это дробная часть. сделал?! параметр может принимать
об этих различиях.ВРЕМЯ формате в день меньше, чем дней
датами без учета
и модифицированная начальная заменяется годом конечной прошло 12 месяцев с временем суток можно заменить другимиАргумент комбинацию клавиш CTRL+SHIFT+1. лет 08.12.1992По умолчанию число 1_Boroda_ следующие значения:
excel2.ru
Функции даты и времени (справка)
Для вычислений длительностей интерваловВозвращает заданное время в месяца. начальной даты. Как
лет. Использовать ее дата 28. даты за вычетом и 1 день (РАЗНДАТ() игнорирует время, формулами (правда достаточноспособ_измеренияB1 теперь содержит числоПроиллюстрируем пример использования несколькихВ ячейки B1:B3 проставьте соответствует дате 01: На этот раз
»y» |
дат в Excel |
числовом формате. |
ДНИ выйти из этой |
не рекомендуется по |
032009 1 года, т.к. (ноябрь и декабрь т.е. дробную часть громоздкими). Это сделано |
определяет, как и |
1, а B2 параметров: |
текущею дату. |
января 1900 года. даразница в полных годах |
есть функция |
ВРЕМЗНАЧВозвращает количество дней между |
ситуации? |
причинам, изложенным в(год и месяц 01.04 больше чем |
в 1961г. + |
числа, см. статью в файле примера). в каких единицах – 367. ТоВнимание! Чтобы функция:=РАЗНДАТ() работала |
Теперь нужно воспользоваться функцией |
То есть каждаяДержите»m»РАЗНДАТПреобразует время из текстового двумя датами. |
Модифицируем формулу для расчета |
предыдущем пункте. начальной даты заменяется |
01.03) |
10 месяцев в Как Excel хранитВ файле примера значение |
будет измеряться интервал |
есть прошел один без ошибок, следите |
по преобразованию количества |
дата – это200?’200px’:»+(this.scrollHeight+5)+’px’);»>=РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»y»)&» лет «&РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»ym»)&» мес. |
в полных месяцах |
, в английской версии формата в числовой.ДНЕЙ360 |
дней разницы без |
Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd») годом и месяцемВся эта вакханалия нужна, 1962г.). дату и время). аргумента начальная_дата помещена |
между начальной и конечной |
високосный год (366 за тем, чтобы дней в количество |
количество дней прошедших |
«&РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»md»)&» дн.»»d» |
- |
СЕГОДНЯВычисляет количество дней между |
учета месяцев и |
зависит от версии конечной даты) |
например, для подсчета |
Формула =РАЗНДАТ(A2;B2;»y») вернет количествоПримечание |
в ячейке |
датами. Этот аргумент дней) и 1 начальная дата была |
лет. Для этого |
от 01.01.1900. НаHoBU4OKв полных дняхDATEDIFВозвращает текущую дату в |
двумя датами на |
лет: EXCEL.Пример3: сколько полных дней, полных лет между |
: Если интересуют только |
А2 может принимать следующие день. старше конечной даты. вручную введите в данном уроке детально: Спасибо, работает!»yd» |
. |
числовом формате. основе 360-дневного года. |
=ЕСЛИ(ДЕНЬ(A18)>ДЕНЬ(B18);ЕСЛИ((ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18)) |
Формула может быть замененаначальная_дата 28.02.2009, конечная_дата месяцев и лет двумя датами. |
рабочие дни, то, а значение аргумента значения:Способ отображения даты можноЦелью данного урока является диапазон C1:C3 следующее рассмотрим даты, аpalleotразница в днях сНюанс в том, чтоДЕНЬНЕДДАТАМЕС
support.office.com
Вычисление возраста или стажа функцией РАЗНДАТ (DATEDIF)
При применении новой функции альтернативным выражением: 01.03.2009 прошло с определеннойПример1: количество рабочих дней конечная_дата – вЗначение
задать с помощью пример математических операций значение: =РАЗНДАТ(A1;B1;»y»). на следующих уроках: Добрый день Уважаемые начала года без Вы не найдетеПреобразует дату в числовомВозвращает дату в числовом необходимо учитывать, что=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2;Результат3: даты до сегодняшнегоначальная_дата 01.02.2007, конечная_дата между двумя датами ячейкеОписание диалогового окна «Формат с датами. ТакТаким образом, применение функции – время. форумчане! учета лет эту функцию в формате в день формате, отстоящую на разница в дняхB2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2));4 (дня) -
дня. Подробнее читайте
01.03.2009
можно посчитать поВ2»d» ячеек». Для его же, мы убедимся, позволило нам точноТак как дата являетсяПодскажите пожалуйста, возможно»md» списке Мастера функций, недели. заданное число месяцев будет одинаковой дляB2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))) совершенно непонятный и
в одноименной статье | Результат: |
формуле =ЧИСТРАБДНИ(B2;A2) | . |
разница в днях | вызова нажмите: CTRL+1. |
что для Excel | вычислить возраст по числом, значит можно ли при использовании |
разница в днях без | нажав кнопкуНОМНЕДЕЛИ вперед или назад |
нескольких начальных дат | Найдем разницу дат 16.03.2015 НЕПРАВИЛЬНЫЙ результат. Ответ |
Сколько лет, месяцев,
2 (года)Формула =РАЗНДАТ(A2;B2;»m») вернет количествоФормула =РАЗНДАТ(A2;B2;»d») вернет простую»m» На закладке «Число» тип данных дата дате рождения в проводить с ним
функции «РАЗНДАТ» при учета месяцев и
fxПреобразует дату в числовом от начальной даты. (см. рисунок выше, и 30.01.15. Функция
должен быть =1. дней прошло с
Пример2: полных месяцев между
planetaexcel.ru
Отрицательный результат в формуле РАЗНДАТ (Формулы/Formulas)
разницу в дняхразница в полных месяцах
выберите в списке является числом. Excel. математические вычислительные и сопоставлении разницы лет лет- она является
формате в число,КОНМЕСЯЦА
даты 28-31.01.2015). В РАЗНДАТ() с параметрами
Более того, результат конкретной даты.
начальная_дата 01.04.2007, конечная_дата двумя датами. между двумя датами.
»y»
«Числовые форматы» -Заполните таблицу датами, так
Внимание! Чтобы перевести дни расчетные операции. Посчитать
excelworld.ru
Функция «РАЗНДАТ» или 5 больше 10 (Формулы/Formulas)
(до 10 лет)»ym» недокументированной возможностью Excel.
которое указывает, наВозвращает дату в числовом остальных случаях формулы md и ym вычисления зависит от
Формула может быть заменена 01.03.2009Пример1:Пример1: разница в полных годах «Дата». В разделе как показано на
в года не количество дней междусделать так, чтобыразница в полных месяцах
Точнее говоря, найти
какую неделю года формате для последнего
эквивалентны. Какую формулу подсчитает, что разница версии EXCEL. альтернативным выражением:
Результат:начальная_дата 01.02.2007, конечная_датаначальная_дата 25.02.2007, конечная_дата 26.02.2007»ym» «Тип» отображаются самые
рисунке: достаточно формулы: =(B1-A1)/365.
двумя датами Excel первая цифра была
без учета лет
описание этой функции
excelworld.ru
Как вычислить дату в Excel
приходится дата. дня месяца, отстоящего применять? Это решать составляет 1 месяцВерсия EXCEL 2007 с=ОСТАТ(C7;12)1 (год) 01.03.2007
Результат: разница в полных месяцах популярные форматы дляРазные способы ввода дат. Более того даже не составляет особых «0» к примеруНапример: и ее аргументовРАБДЕНЬ вперед или назад
Как в Excel посчитать дни между датами?
пользователю в зависимости и 14 дней. SP3:В ячейкеПодробнее читайте в статьеРезультат:1 (день). без учета лет отображения дат. В столбце А если мы знаем проблем. Для наглядного разница между 2000
- Т.е. при желании подсчитать можно только вВозвращает дату в числовом на заданное число
- от условия задачи. Так ли этоРезультат – 143 дня!
- С7 Полный возраст или
1 (месяц)Этот пример показыват, что»md»Скачать примеры вычисления даты – способ ввода, что 1 сутки примера сначала выполним и 2005 гг. и вывести, например, полной версии англоязычной формате, отстоящую вперед месяцев.Чтобы просмотреть более подробные
на самом деле?
Вычисление возраста по дате рождения в Excel
Больше чем днейдолжна содержаться разница стаж.
- Пример2: при подсчете стажаразница в днях без в Excel
- а в столбце = 0,0027397260273973 года,
- сложение, а потом была 05 а ваш стаж в справки, поскольку на или назад наЧАС сведения о функции,
Имея формулу, эквивалентную РАЗНДАТ(), можно в месяце! в полных месяцахФормула может быть замененаначальная_дата 01.03.2007, конечная_дата 31.03.2007
необходимо использовать функцию учета месяцев иЧитайте также: Функции для B – результат то формула:=(B1-A1)*0,0027397260273973 так вычитание дат. Для не 5. виде «3 г. самом деле она заданное количество рабочих
Преобразует дату в числовом щелкните ее название понять ход вычисления.Версия EXCEL 2007: (см. п.2). альтернативным выражением:Результат: РАЗНДАТ() с осторожностью. лет работы с датами
отображения. же не даст
этого: | а то эксель |
4 мес. 12 | оставлена для совместимости |
дней. | формате в часы. |
в первом столбце. | Очевидно, что в |
Разница между 28.02.2009 и | Формула =РАЗНДАТ(A2;B2;»md») вернет количество=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)) ГОД(B2)-ГОД(A2);ГОД(B2)-ГОД(A2)-1) |
0 | Очевидно, что еслиВНИМАНИЕ! Функция для |
в Excel | Обратите внимание, что в точного результата. |
На чистом листе в считает, что 10
дн.», необходимо ввести со старыми версиямиРАБДЕНЬ.МЕЖДНОМНЕДЕЛИ.ISOПримечание:
Ввод даты в ячейку Excel
нашем случае количество 01.03.2009 – 4 дней между двумяФормула =РАЗНДАТ(A2;B2;»ym») вернет количествоПри расчете стажа, считается, сотрудник работал 25 некоторых версий EXCEL
На следующем уроке мы формате ячеек поДни в года наиболее
ячейку А1 введите лет меньше чем в ячейку следующую Excel и LotusВозвращает числовое значение даты,Возвращает номер недели по
Маркер версии обозначает версию полных месяцев между дня! датами без учета полных месяцев между что сотрудник отработавший и 26 февраля, возвращает ошибочное значение, на готовых примерах умолчанию «Общий», даты
точно преобразует функция:=РАЗНДАТ(). текущею дату нажав 5 пример приложен. формулу: 1-2-3. Однако, несмотря предшествующей заданному количеству ISO для заданной Excel, в которой датами = 1,Причем в EXCEL 2003
Вычисление даты Excel
месяцев и лет. двумя датами без все дни месяца то отработал он если день начальной будем работать со также как и Английская версия =DATEDIF(). CTRL+;.Заранее спасибо!
=РАЗНДАТ(A1;A2;»y»)&» г. «&РАЗНДАТ(A1;A2;»ym»)&» мес. на то, что рабочих дней или даты. она впервые появилась. т.е. весь февраль. с SP3 формула
Использовать функцию РАЗНДАТ() учета лет (см. — отработал 1 2 дня, а даты больше дня временем и периодами число выравниваются по Вы не найдетеВ ячейке A2 введитеpabchek «&РАЗНДАТ(A1;A2;»md»)&» дн.» эту функцию не
следующей за ними,МИНУТЫ
В более ранних Для вычисления дней, возвращает верный результат
с этим аргументом примеры ниже). полный месяц. Функция РАЗНДАТ() так не 1. То конечной даты (например,
exceltable.com
суток.
Посчитать количество месяцев между датами в программе эксель можно двумя способами: операциями вычитания и деления или специальной функцией.
Первый способ. Используем оператор вычитания и деления.
Первый шаг. Перед нами таблица, в ней указано две даты.
Второй шаг. Даты в программе эксель представлены в виде чисел, поэтому если одну из другой вычесть, то получите количество дней между ними. Чтобы получить количество месяцев, разделим на среднюю продолжительность месяца, равную 30 дням.
В итоге в ячейке «С3» запишем простую формулу: =(B3-A3)/30, получим ответ семь месяцев.
Второй способ. Рассчитаем количество месяцев между датами, специальной функцией.
В экселе есть функция РАЗНДАТ(Х;У;Z), где Х – начальная дата, У – конечная дата, Z – аргумент, что будем рассчитывать, в нашем случае он будет равен букве «m».
В ячейке «С7» запишем тогда следующую формулу: =РАЗНДАТ(A7;B7;»m»). Ответ снова получим семь.
Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье Расчет страхового (трудового) стажа в MS EXCEL.
Функции РАЗНДАТ( ) нет в справке EXCEL2007 и в Мастере функций (SHIFT+F3), но она работает, хотя и не без огрех.
Синтаксис функции:
РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)
Аргумент начальная_дата должна быть раньше аргумента конечная_дата.
Аргумент способ_измерения определяет, как и в каких единицах будет измеряться интервал между начальной и конечной датами. Этот аргумент может принимать следующие значения:
Значение
Описание
разница в полных месяцах
разница в полных годах
разница в полных месяцах без учета лет
разница в днях без учета месяцев и лет
ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже.
разница в днях без учета лет
ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом.
Ниже приведено подробное описание всех 6 значений аргумента способ_измерения, а также альтернативных формул (функцию РАЗНДАТ() можно заменить другими формулами (правда достаточно громоздкими). Это сделано в файле примера ).
В файле примера значение аргумента начальная_дата помещена в ячейке А2, а значение аргумента конечная_дата – в ячейке В2.
1. Разница в днях («d»)
Формула =РАЗНДАТ(A2;B2;»d») вернет простую разницу в днях между двумя датами.
Пример1: начальная_дата 25.02.2007, конечная_дата 26.02.2007
Результат: 1 (день).
Этот пример показыват, что при подсчете стажа необходимо использовать функцию РАЗНДАТ() с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).
Пример2: начальная_дата 01.02.2007, конечная_дата 01.03.2007
Результат: 28 (дней)
Пример3: начальная_дата 28.02.2008, конечная_дата 01.03.2008
Результат: 2 (дня), т.к. 2008 год — високосный
Эта формула может быть заменена простым выражением =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2) . Функция ЦЕЛОЕ() округляет значение до меньшего целого и использована для того случая, если исходные даты введены вместе с временем суток ( РАЗНДАТ() игнорирует время, т.е. дробную часть числа, см. статью Как Excel хранит дату и время).
Примечание: Если интересуют только рабочие дни, то количество рабочих дней между двумя датами можно посчитать по формуле =ЧИСТРАБДНИ(B2;A2)
2. Разница в полных месяцах («m»)
Формула =РАЗНДАТ(A2;B2;»m») вернет количество полных месяцев между двумя датами.
Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2007
Результат: 1 (месяц)
Пример2: начальная_дата 01.03.2007, конечная_дата 31.03.2007
Результат: 0
При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция РАЗНДАТ() так не считает!
Пример3: начальная_дата 01.02.2007, конечная_дата 01.03.2009
Результат: 25 месяцев
Формула может быть заменена альтернативным выражением:
=12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)
Внимание: В справке MS EXCEL (см. раздел Вычисление возраста) имеется кривая формула для вычисления количества месяце между 2-мя датами:
Если вместо функции ТДАТА() — текущая дата использовать дату 31.10.1961, а в А3 ввести 01.11.1962, то формула вернет 13, хотя фактически прошло 12 месяцев и 1 день (ноябрь и декабрь в 1961г. + 10 месяцев в 1962г.).
3. Разница в полных годах («y»)
Формула =РАЗНДАТ(A2;B2;»y») вернет количество полных лет между двумя датами.
Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2009
Результат: 2 (года)
Пример2: начальная_дата 01.04.2007, конечная_дата 01.03.2009
Результат: 1 (год)
Подробнее читайте в статье Полный возраст или стаж.
Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))
4. Разница в полных месяцах без учета лет («ym»)
Формула =РАЗНДАТ(A2;B2;»ym») вернет количество полных месяцев между двумя датами без учета лет (см. примеры ниже).
Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2009
Результат: 1 (месяц), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.02.2009 (год начальной даты заменяется годом конечной даты, т.к. 01.02 меньше чем 01.03)
Пример2: начальная_дата 01.04.2007, конечная_дата 01.03.2009
Результат: 11 (месяцев), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.04.2008 (год начальной даты заменяется годом конечной даты за вычетом 1 года , т.к. 01.04 больше чем 01.03)
Вся эта вакханалия нужна, например, для подсчета сколько полных дней, месяцев и лет прошло с определенной даты до сегодняшнего дня. Подробнее читайте в одноименной статье Сколько лет, месяцев, дней прошло с конкретной даты.
Формула может быть заменена альтернативным выражением:
=ОСТАТ(C7;12)
В ячейке С7 должна содержаться разница в полных месяцах (см. п.2).
5. Разница в днях без учета месяцев и лет («md»)
Формула =РАЗНДАТ(A2;B2;»md») вернет количество дней между двумя датами без учета месяцев и лет. Использовать функцию РАЗНДАТ() с этим аргументом не рекомендуется (см. примеры ниже).
Пример1: начальная_дата 01.02.2007, конечная_дата 06.03.2009
Результат1: 5 (дней), т.к. сравниваются конечная дата 06.03.2009 и модифицированная начальная дата 01.03.2009 (год и месяц начальной даты заменяется годом и месяцем конечной даты, т.к. 01 меньше чем 06)
Пример2: начальная_дата 28.02.2007, конечная_дата 28.03.2009
Результат2: 0, т.к. сравниваются конечная дата 28.03.2009 и модифицированная начальная дата 28.03.2009 (год и месяц начальной даты заменяется годом и месяцем конечной даты)
Пример3: начальная_дата 28.02.2009, конечная_дата 01.03.2009
Результат3: 4 (дня) — совершенно непонятный и НЕПРАВИЛЬНЫЙ результат. Ответ должен быть =1. Более того, результат вычисления зависит от версии EXCEL.
Версия EXCEL 2007 с SP3:
Результат – 143 дня! Больше чем дней в месяце!
Версия EXCEL 2007:
Разница между 28.02.2009 и 01.03.2009 – 4 дня!
Причем в EXCEL 2003 с SP3 формула возвращает верный результат 1 день. Для значений 31.12.2009 и 01.02.2010 результат вообще отрицательный (-2 дня)!
Не советую использовать формулу с вышеуказанным значением аргумента. Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2);
ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2);
ДЕНЬ(B2)-ДЕНЬ(A2))
Данная формула лишь эквивалетное (в большинстве случаев) выражение для РАЗНДАТ() с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.
6. Разница в днях без учета лет («yd»)
Формула =РАЗНДАТ(A2;B2;»yd») вернет количество дней между двумя датами без учета лет. Использовать ее не рекомендуется по причинам, изложенным в предыдущем пункте.
Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd») зависит от версии EXCEL.
Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2;
B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2));
B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))
Еще раз о кривизне РАЗНДАТ()
Найдем разницу дат 16.03.2015 и 30.01.15. Функция РАЗНДАТ() с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?
Имея формулу, эквивалентную РАЗНДАТ() , можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты = ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6) , т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?
Модифицируем формулу для расчета дней разницы без учета месяцев и лет:
При применении новой функции необходимо учитывать, что разница в днях будет одинаковой для нескольких начальных дат (см. рисунок выше, даты 28-31.01.2015). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.
В этом курсе:
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Используйте функцию РАЗНДАТ, если требуется вычислить разницу между двумя датами. Сначала введите дату начала в ячейку и дату окончания в другой. Затем введите формулу, например одну из указанных ниже.
Предупреждение: Если значение нач_дата больше значения кон_дата, возникнет ошибка #ЧИСЛО!
Разница в днях
В этом примере Дата начала находится в ячейке D9, а Дата окончания — в E9. Формула будет показана на F9. «D» возвращает число полных дней между двумя датами.
Разница в неделях
В этом примере Дата начала находится в ячейке D13, а Дата окончания — в E13. «D» возвращает число дней. Но обратите внимание на то, что в конце есть /7 . Это делит количество дней на 7, так как в неделю есть 7 дней. Обратите внимание, что этот результат также необходимо отформатировать как число. Нажмите клавиши CTRL + 1. Затем щелкните число _гт_ десятичных разрядов: 2.
Разница в месяцах
В этом примере Дата начала находится в ячейке D5, а Дата окончания — в ячейку «вниз». В формуле «м» возвращает число полных месяцев между двумя днями.
Разница в годах
В этом примере Дата начала находится в ячейке D2, а Дата окончания — в E2. «Y» возвращает число полных лет между двумя днями.
Вычисление возраста в накопленных годах, месяцах и днях
Вы также можете рассчитать возраст или время обслуживания других пользователей. Результат может быть похож на «2 года», «4 месяца», «5 дней» «.
1. Используйте РАЗНДАТ для поиска общего числа лет.
В этом примере Дата начала находится в ячейке D17, а Дата окончания — в E17. В формуле «y» возвращает число полных лет между двумя днями.
2. для поиска месяцев используйте РАЗНДАТ еще раз, указав «ГМ».
В другой ячейке используйте формулу РАЗНДАТ с параметром «ГМ» . «ГМ» возвращает число оставшихся месяцев после последнего полного года.
3. Используйте другую формулу для поиска дней.
Теперь нужно найти количество оставшихся дней. Это можно сделать, написав формулу другого типа, показанную выше. Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.
Предупреждение: Мы не рекомендуем использовать аргумент РАЗНДАТ «MD», так как он может вычислять неверные результаты.
4. необязательно: Объедините три формулы в одну.
Вы можете разместить все три вычисления в одной ячейке, как показано в этом примере. Использование амперсандов, кавычек и текста. Это более длинная формула для ввода, но по крайней мере все это в одной из них. Совет. Нажмите клавиши ALT + ВВОД, чтобы разместить разрывы строк в формуле. Это упрощает чтение. Кроме того, если вы не видите формулу целиком, нажмите клавиши CTRL + SHIFT + U.
Скачивание примеров
Вы можете скачать пример книги со всеми примерами, приведенными в этой статье. Вы можете подписаться на них или создать собственные формулы.
Другие расчеты даты и времени
Как показано выше, функция РАЗНДАТ вычисляет разницу между датой начала и конечной датой. Однако вместо ввода определенных дат можно также использовать функцию Today () в формуле. При использовании функции TODAY () Excel использует текущую дату на компьютере. Имейте в виду, что при повторном открытии файла в будущем этот файл изменится.
Обратите внимание на то, что на момент написания статьи день – 6 октября 2016 г.
Используйте ЧИСТРАБДНИ. INTL, если требуется вычислить количество рабочих дней между двумя датами. Кроме того, вы можете также исключить выходные и праздничные дни.
Прежде чем начать, выполните указанные ниже действия.Решите, нужно ли исключить даты праздников. Если это так, введите список дат праздников в отдельную область или на лист. Каждый день праздников помещается в отдельную ячейку. Затем выделите эти ячейки, а затем выберите формулы _Гт_ присвоить имя. Назовите диапазон михолидайси нажмите кнопку ОК. Затем создайте формулу, выполнив указанные ниже действия.
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, михолидайс).
ПероЕсли вы не хотите ссылаться на имя диапазона праздников, вы также можете ввести диапазон, например D35: E:39. Кроме того, вы можете ввести каждый праздник в формуле. Например, если праздничные дни – 1 января и 2 из 2016, введите их следующим образом: = ЧИСТРАБДНИ. Межд (D53, E53, 1, <«1/1/2016», «1/2/2016»>). В Excel 2007 оно будет выглядеть следующим образом: = ЧИСТРАБДНИ (D53, E53, <«1/1/2016», «1/2. 2016»>)
Чтобы вычислить затраченное время, можно вычесть один раз из другого. Сначала введите время начала в ячейке и время окончания в другой. Убедитесь в том, что все время, в том числе часы, минуты и пробелы, заполните до полудня или PM. Вот что нужно для этого сделать:
1. Введите время начала и время окончания.
В этом примере время начала находится в ячейке D80, а время окончания — в E80. Убедитесь, что вводите часы, минуты и пробелы перед символами AM и PM.
2. Установите формат ч/PM.
Выберите обе даты и нажмите клавиши CTRL + 1 (или + 1 на компьютере Mac). Убедитесь, что выбран параметр пользовательские _гт_ ч/PM, если он еще не установлен.
3. вычитание двух значений.
В другой ячейке вычитаете начальную ячейку из ячейки «время окончания».
4. Задайте формат ч.
Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите » пользовательские _гт_», чтобы исключить из него результаты «AM» и «PM».
Чтобы вычислить время между двумя датами и временем, вы можете просто вычесть один из них. Однако вы должны применить форматирование к каждой ячейке, чтобы убедиться, что Excel возвращает нужный результат.
1. Введите два полных значения даты и времени.
В одной ячейке введите дату и время начала. В другой ячейке введите дату и время полного окончания. Каждая ячейка должна иметь месяц, день, год, час, минуту и пробел до полудня или PM.
2. Задайте формат 3/14/12 1:30 PM.
Выберите обе ячейки, а затем нажмите клавиши CTRL + 1 (или + 1 на компьютере Mac). Затем выберите Дата _ГТ_ 3/14/12 1:30 PM. Это не Дата, которую вы настроили, а вот только пример того, как будет выглядеть формат. Обратите внимание, что в версиях до Excel 2016 этот формат может иметь другой образец даты, например 3/14/ 01 1:30 PM.
3. вычитание двух значений.
В другой ячейке вычитаете дату и время начала из даты и времени окончания. Результат, скорее всего, будет выглядеть как число и десятичное значение. Это будет исправлено на следующем этапе.
4. Задайте формат [h]: мм.
Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите пункт (все форматы). В поле тип введите [h]: мм.
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. Если вам понравились инструменты и вы решили получить лицензию, не пропустите это специальное предложение для читателей нашего сайта.
Надеюсь, из рассмотренных нами вариантов вы сможете выбрать для себя самый наилучший и удобный, чтобы посчитать возраст человека по дате его рождения.
Также рекомендуем почитать о работе с датами:
На чтение 5 мин Просмотров 2.2к. Опубликовано 27.02.2022
Итак, мы имеем несколько серьезных функций, для того чтобы рассчитать кол-во дней между двумя датами, причем с разными параметрами (такими как выходные дни, праздники и так далее).
В этой статье я продемонстрирую вам разные ситуации, где нужно посчитать кол-во дней между датами. Все они будут с разными «уклонами», в одной ситуации нужно посчитать без выходных, в другой количество понедельников и так далее.
Содержание
- Стандартный расчет количества дней
- С помощью функции ДНИ
- С помощью функции РАЗНДАТ
- Расчет кол-ва рабочих дней
- Расчет кол-ва неполных рабочих дней между двумя датами
- Количество понедельников между двумя датами
Стандартный расчет количества дней
Итак, в Excel есть две функции для вычисления кол-ва дней.
С помощью функции ДНИ
Чтобы получить результат от функции нам понадобится дата начала и дата конца.
Итак, вы указываете эти две даты в аргументах функции и получаете количество дней между ними.
Хороший пример вы можете видеть на картинке ниже:
Используем эту формулу:
=ДНИ(B2;B1)
Также вы можете вручную прописать даты в функции (без указания ячеек), но тогда вам нужно заключить их в кавычки.
Эта функция вычислит количество дней между этими датами, но если вы хотите чтобы расчет велся «включительно» с датами начала и конца, то добавьте к результату + 1 (просто пропишите это в функции).
С помощью функции РАЗНДАТ
Эта функция аналогична, её отличие в том, что можно указать больше параметров. То есть больше «подстроить» под ситуацию.
Также можно вычислить кол-во месяцев или лет между датами.
Допустим, мы имеем то что указано на картинке ниже:
Пропишем формулу:
=РАЗНДАТ(B1;B2;"D")
Эта функция использует три наших аргумента:
- Дата начала — B1
- Дата окончания — B2
- «D» — текстовая строка
Важный момент: этой функции не будет в подсказке при написании названия функции, т.е. если вы будете писать РАЗНДАТ, Excel будет вести себя так, как будто он не знает что это за функция, но это не так.
Функция РАЗНДАТ больше подходит для ситуаций, когда нужно вычислить кол-во лет или месяцев между датами, в других ситуациях удобнее применять ДНИ (функцию).
Вот формула, которая даст результат по месяцам, которые будут между датами:
=РАЗНДАТ(B1;B2;"M")
А эта формула, тоже самое что и прошлая, только вычисляет кол-во лет:
=РАЗНДАТ(B1;B2;"Y")
Расчет кол-ва рабочих дней
Итак, рабочие дни можно вычислить двумя способами:
- Функция Excel ЧИСТРАБДНИ — ее следует использовать, если выходные дни — суббота и воскресенье.
- Функция Excel ЧИСТРАБДНИ.МЕЖД — используйте ее, когда выходные дни отличаются от субботы и воскресенья.
Сначала быстро рассмотрим синтаксис и аргументы фунции ЧИСТРАБДНИ.
Функция Excel ЧИСТРАБДНИ
=ЧИСТРАБДНИ(нач_дата, конеч_дата, [праздники])
- нач_дата — это дата начала отсчета.
- end_date — это конечная дата отсчета.
- [праздники] — (Необязательно) Отдельная дата или диапазон дат, которые не будут учитываться в расчетах.
Посмотрим на стандартный пример, когда нужно посчитать кол-во рабочих дней.
Мы будем использовать эту формулу:
=ЧИСТРАБДНИ(B2;C2;$F$2:$F$6)
Такая вариация этой функции даст то что вам нужно, если вам нужно посчитать рабочие дни без субботы и воскресенья.
Но бывают и другие ситуации, к примеру, в разных странах выходные на неделе строятся по-разному, это может быть пятница и так далее.
Именно для таких ситуаций и появилась функция ЧИСТРАБДНИ.МЕЖД.
Посмотрим что из себя представляет эта функция.
Функция Excel ЧИСТРАБДНИ.МЕЖД
=ЧИСТРАБДНИ.МЕЖД(нач_дата; конеч_дата; [выходные]; [праздники])
- нач_дата — значение даты, представляющее собой начальную дату.
- конеч_дата — значение даты, представляющее дату окончания.
- [нерабочие дни] — (Необязательно) в этом аргументе указываются исключительные дни(праздники и т.д.), если аргумента не будет, выходные останутся по-стандарту(суббота и воскресенье).
А сейчас, попробуем посчитать кол-во рабочих дней, если выходными будут пятница и суббота.
Допустим, таблица такая же как и в прошлом примере:
Будем использовать формулу:
=ЧИСТРАБДНИ.МЕЖД(B2;C2;7;$F$2:$F$6)
3 аргумент в функции сообщает Excel, что пятница и суббота выходные.
Также, мы можем использовать ЧИСТРАБДНИ.МЕЖД для расчета выходных между двумя датами.
Она конечно вычисляет кол-во рабочих дней, но мы можем адаптировать это «под себя».
Допустим, таблица все та же:
Формула, которая нам подойдет:
=ДНИ(C2;B2)+1-РАЗНДАТ(B2;C2)
Расчет кол-ва неполных рабочих дней между двумя датами
Также, к примеру, можно использовать эту же функцию для расчета неполных рабочих дней.
Допустим, у нас есть похожая таблица с данными:
Формула, для нашего случая, будет такой:
=ЧИСТРАБДНИ.МЕЖД($B$3;$C$3;"1010111";$E$3:$E$7)
Для обозначения выходных дней, мы использовали «1010111».
- 0 — рабочий день
- 1 — неполный рабочий день
Первая цифра из этого числа — понедельник, последняя — воскресенье
Грубо говоря, «0000011» значит, что с понедельника по пятницу — рабочие дни, а суббота и воскресенье — нерабочие (выходные).
По той же логике, «1010111» означает, что только вторник и четверг являются рабочими, а остальные 5 дней — нерабочими.
Если вам нужно исключить какие-то дни из расчетов, можете исключать их таким образом.
Количество понедельников между двумя датами
Для поиска количества понедельников мы можем использовать ту же логику, которая использовалась выше при подсчете неполных рабочих дней.
Функция, которая выведет кол-во понедельников:
=ЧИСТРАБДНИ(B2;C2;"0111111")
В этой формуле «0» означает рабочий день, а «1» — нерабочий день.
Формула рассчитывает количество рабочих дней, с учетом того что единственный рабочий день — это понедельник.
Аналогичным образом можно рассчитать количество любых, интересующих вас дней, между двумя датами.
17 авг. 2022 г.
читать 1 мин
Мы можем использовать функцию DATEDIF() для вычисления разницы между двумя датами в Excel.
Эта функция использует следующий синтаксис:
=DATEDIF(Начальная_Дата, Конечная_Дата, Метрика)
куда:
- Start_Date: дата начала
- End_Date: Дата окончания
- Метрика: метрика для расчета. Варианты включают:
- «д»: дни
- «м»: Месяцы
- «г»: годы
Важно отметить, что эта функция не появится автоматически в Excel, пока вы полностью не введете =РАЗНДАТ( в одну из ячеек.
В следующих примерах показано, как использовать эту функцию для вычисления разницы между двумя датами в Excel.
Пример 1: разница в днях
На следующем изображении показано, как рассчитать разницу (в днях) между двумя датами:
Это говорит нам о том, что между 01.01.2018 и 01.02.2021 1127 полных дней.
Пример 2: разница в месяцах
На следующем изображении показано, как рассчитать разницу (в месяцах) между двумя датами:
Пример 3: Разница в годах
На следующем изображении показано, как рассчитать разницу (в годах) между двумя датами:
Пример 4: Разница в годах и месяцах
На следующем рисунке показано, как рассчитать разницу (в годах и месяцах) между двумя датами:
Вы можете найти больше руководств по Excel на этой странице .
Написано
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.