I am trying to write a DAX query and it is always returning me an error.
What I want to calculate hours different 2 columns —
So I have —
StartTime
2015-03-02 09:00EndTime
2015-03-02 18:00
So I want to calculate the hours different between two —
DATEDIFF([StartTime]; [EndTime];HOUR)
but this query is not working !
Do anyone knows where I am making the mistake !
marc_s
726k174 gold badges1326 silver badges1449 bronze badges
asked Mar 22, 2016 at 13:56
This function works only if you use Excel 2016 or Power Bi. if you want to have the same result on Excel 2013/2010 you can use this workaround:
=([end date]-[Start date])*24`
answered Apr 1, 2016 at 11:23
Содержание
- Функция DATEDIF (РАЗНДАТ) в Excel. Как использовать?
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Дополнительная информация
- Примеры использования функции РАЗНДАТ в Excel
- Пример №1. Подсчет количества лет между двумя датами
- Пример №2. Подсчет количества месяцев между двумя датами
- Пример №3. Подсчет количества дней между двумя датами
- Почему нет функции разндат в эксель
- РАЗНДАТ(. ) / DATEDIF(. )
- ЭТОГО НЕТ В ОФИЦИАЛЬНОЙ СПРАВКЕ EXCEL:
- СИНТАКСИС:
- АРГУМЕНТЫ:
- ОГРАНИЧЕНИЯ:
- Расчет количества дней между датами в Эксель
- Расчет разности дат
- Метод 1: использование формулы вычитания
- Метод 2: функция РАЗНДАТ
- Метод 3: функция ЧИСТРАБДНИ для определения количества рабочих дней
- Заключение
- Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в EXCEL
- Синтаксис функции:
- 1. Разница в днях («d»)
- 2. Разница в полных месяцах («m»)
- 3. Разница в полных годах («y»)
- 4. Разница в полных месяцах без учета лет («ym»)
- 5. Разница в днях без учета месяцев и лет («md»)
- 6. Разница в днях без учета лет («yd»)
- Еще раз о кривизне РАЗНДАТ()
Функция DATEDIF (РАЗНДАТ) в Excel. Как использовать?
Функция DATEDIF (РАЗНДАТ) в Excel используется для подсчета количества лет, месяцев или дней между двумя датами. Хороший пример — подсчет возраста.
Что возвращает функция
Число, обозначающее количество лет/месяцев/дней между двумя датами. Какие значения будут отображаться (год, месяц или дни) зависит от того, что будет указано вами в атрибутах функции.
Синтаксис
=DATEDIF(start_date,end_date,unit) — английская версия
= РАЗНДАТ( нач_дата ; кон_дата ; единица) — русская версия
Аргументы функции
- start_date (нач_дата): дата, с которой начинается вычисление разницы во времени между двумя датами. Дата может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления (например в функции ДАТА());
- end_date (кон_дата): дата, на которой вычисление разницы во времени между двумя датами будет окончено. Она, также, может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления;
- unit (единица): Этот аргумент определяет в каком измерении будет отображена разница между двумя датами (год, месяц, день). Существует 6 различных типов отражения данных:
- “Y” — возвращает данные в количестве лет между двумя датами;
- “M” — возвращает данные в количестве месяцев между двумя датами;
- “D” — возвращает данные в количестве дней между двумя данными;
- “MD” — возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, месяца, которые уже прошли при расчете данных. Например, если вы рассчитываете количество дней между двумя датами: 1 Января 2017 и 3 Марта 2017, функция выдаст значение “2”, так как не будет учитывать два прошедших полных месяцев (Январь, Февраль);
- “YM” — возвращает данные в количестве месяцев между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными данными;
- “YD” — возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными датами.
Дополнительная информация
- При вводе функции в ячейку, она не отображается в быстром меню выбора функций. Тем не менее функция работает во всех версиях Excel. Важно знать аргументы функции и как ими пользоваться;
- Данные даты в функции могут быть введены как:
— дата указанная в виде текста в кавычках;
— число;
— как результат вычисления, формулы, функции.
Примеры использования функции РАЗНДАТ в Excel
Пример №1. Подсчет количества лет между двумя датами
На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.
Пример №2. Подсчет количества месяцев между двумя датами
На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество полных месяцев между двумя датами — 19 июня 1989 года и 26 марта 2017 года.
Функция возвращает значение “333”, что является количеством полных месяцев между датами указанными выше.
Пример №3. Подсчет количества дней между двумя датами
На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество дней между двумя датами. Например, функция возвращает значение “10142” дня между двумя датами — 19 июня 1989 года и 26 марта 2017 года.
Если вы хотите посчитать количество дней между двумя датами, исключая количество лет, которые уже завершены, вам нужно использовать аргумент “YD” в качестве третьего (пример на рисунке ниже):
В приведенном выше примере он возвращает значение “280”, то есть число дней между днями, исключая 27 полных лет.
Если вы хотите посчитать количество дней между двумя датами, исключая количество полных лет и месяцев, используйте атрибут “MD” в качестве третьего аргумента (как показано на рис. ниже):
На примере выше функция возвращает значение “7” означающие количество дней между двумя днями «19» и «26» число, исключая значения лет и месяцев.
Источник
Почему нет функции разндат в эксель
РАЗНДАТ(. ) / 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). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.
Источник
РАЗНДАТ(. ) / 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). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.
Функция РАЗНДАТ в Excel
Смотрите также начальная дата была ячейки A3. Не код. Он является определения на основе 1-2-3. Однако, несмотря и нач_дата, при2 часа 30
- Применительно к нашему столбцу одной формуле. Да,Примечание:Естественно, ничто не мешает
=СЕГОДНЯ()-2*7
=СЕГОДНЯ()+10
15 мая 2015 тот же результатПеревел: Антон АндроновЧтобы вычислить количество дней, старше конечной даты.
- сложно догадаться, чтобы порядковым номером дня контрольных дат процента на то, что
этом значения года
минут и вычитает
- с датами, формула с помощью старойФункция Вам ввести минус
=TODAY()-2*7
=TODAY()+10
- года из 20 можно получить болееАвтор: Антон Андронов недель или летЦелью данного урока является посчитать разницу в
по состоянию на
выполнения реализации проекта.
- эту функцию не в заданных датах 15 секунд: принимает следующий вид: доброй функции
ДАТАМЕС
прямо в формуле,
- Чтобы прибавить (или отнять)Следующий рисунок показывает действие мая 2015 года изощрённым способом сВ этом уроке Вы
между двумя датами,
пример математических операций
датах в Excel эту же дату. В персональной деятельности получится вставить стандартным игнорируются=A2+ВРЕМЯ(2;30;-15)=ДАТА(ГОД(A2)+$C$2;МЕСЯЦ(A2)+$D$2;ДЕНЬ(A2)+$E$2)ДАТА(EDATE) возвращает просто чтобы вычесть месяцы: определённое количество месяцев этих формул. На
и возвращает разность помощью функции познакомитесь с различными используйте функцию с датами. Так нужно от новейшей
Поэтому при вычитании
такие операции служат
способом через окноКОММЕНТАРИИ:
=A2+TIME(2,30,-15)
=DATE(YEAR(A2)+$C$2,MONTH(A2)+$D$2,DAY(A2)+$E$2)
(DATA)!
office-guru.ru
Как складывать и вычитать даты, дни, недели, месяцы и годы в Excel
целое число. Чтобы=ДАТА(ГОД(A2);МЕСЯЦ(A2)-$C$2;ДЕНЬ(A2)) к дате, нужно момент написания текста – 5 дней.РАЗНДАТ полезными формулами сложенияDATEDIF же, мы убедимся, даты отнять старшую дат мы просто для заполнения деклараций
Вставка — Функция (InsertнетТакже Вы можете ввестиВ Microsoft Excel складыватьДля представить его как=DATE(YEAR(A2),MONTH(A2)-$C$2,DAY(A2)) использовать функцию текущей датой было=ДАТА(2015;5;20)-ДАТА(2015;5;15)
(DATEDIF). и вычитания дат(РАЗНДАТ). У функции что для Excel дату. В ячейке отнимаем от большего сотрудников, а в — Function)ОГРАНИЧЕНИЯ:
- нужные значения в и вычитать время
- прибавления дату, необходимо применитьИ, конечно, вы можете
- ДАТА 6 мая 2015
- =DATE(2015,5,20)-DATE(2015,5,15)=РАЗНДАТ(A2;B2;»d»)
- в Excel. Например,DATEDIF
- тип данных дата B1 введите формулу:=A3-A1. количества, меньшее и
- финансовых отделах для, ее можно вручную
Как вычитать даты в Excel
Если аргумент кон_дата ячейки листа и можно с помощьюX лет, Y к ячейке формат указать число прибавляемых(DATE) или г.Подводим итог. Если нужно=DATEDIF(A2,B2,»d») Вы узнаете, как(РАЗНДАТ) три аргумента. является числом. Соответственно мы получаем
Пример 1. Непосредственно вычитаем одну дату из другой
получаем тот же расчета амортизации. вписать в ячейку соответствует более ранней ссылаться на них функции месяцев и Z даты. Как это или вычитаемых месяцевДАТАМЕС
Примечание:
Пример 2. Вычитание дат с помощью функции РАЗНДАТ
вычитать даты вСледующий рисунок показывает, что вычесть из однойПропишите «d» в качествеЗаполните таблицу датами, так количество дней между результат, который возвращаетДля решения данной задачи
с клавиатуры -
дате чем аргумент
в формуле:ВРЕМЯ дней: сделать, указано в непосредственно в формуле(EDATE), как показаноРезультатом выполнения этих Excel, и Вы обе формулы возвращают даты другую, как
третьего аргумента, чтобы как показано на этими двумя датами. функция. в Excel можно и она сработает! нач_дата функция вернёт=A2+ВРЕМЯ($C$2;$D$2;$E$2)(TIME). Она позволяет= ДАТА(ГОД( статье Как изменить без ссылки на ниже. формул является целое хотите одинаковый результат, за
Пример 3. Вычитаем дату из текущей даты
прибавить к дате получить количество дней рисунке:HoBU4OK пойти двумя путями:Синтаксис функции следующий: значение ошибки #ЧИСЛО.=A2+TIME($C$2,$D$2,$E$2)
Вам обращаться с
дата
формат даты в
ячейку. Готовые формулы
Если список дат находится,
число, представляющее дату.определить количество дней между исключением ряда 4, несколько дней, месяцев между двумя датами.Разные способы ввода дат.Теперь мы научимся вычислять: Добрый день!
Пример 4. Вычитание дат с помощью функции ДАТА
Воспользоваться функцией РАЗНДАТ.=РАЗНДАТ(Начальная_дата; Конечная_дата; Способ_измерения)Если какой-либо изЕсли исходная ячейка содержит единицами времени (часами,) + Excel. будут выглядеть примерно
например, в столбце Чтобы показать его двумя датами где функция или лет, и=DATEDIF(A1,A2,»d») В столбце А возраст по датеНашел в готовыхВыполнить обычное вычитание старойС первыми двумя аргументами
аргументов нач_дата или и дату, и минутами и секундами)X летДобавление лет к датам так:
A
как дату, необходимо
, имеет смысл делатьРАЗНДАТ т.д.=РАЗНДАТ(A1;A2;»d») – способ ввода, рождения: решениях интересную формулу, даты от новой. все более-менее понятно кон_дата не являются время, предыдущая формула так же, как
; МЕСЯЦ( в Excel осуществляетсяПрибавить месяцы, укажите количество месяцев, выбрать ячейку (или это самым простым(DATEDIF) возвращает ошибкуЕсли Вы уже проходилиПримечание: а в столбцеНа новый лист в но она не
— это ячейки допустимой датой, то также прекрасно работает: и с годами,дата так же, какк дате: которые Вы хотите ячейки) и нажать и очевидным способом#ЧИСЛО! уроки по работеФормула
Как прибавить (вычесть) дни к дате в Excel
B – результат ячейки A1:A3 введите действует на отображениеНиже на рисунке схематически со стартовой и функция вернёт значениеВот так в Excel месяцами и днями) +
Пример 1. Прибавление дней к дате в Excel
добавление месяцев. Вам=ДАТА(ГОД(A2);МЕСЯЦ(A2)+2;ДЕНЬ(A2)) добавить (положительное число)
Ctrl+1 – напрямую вычитать(#NUM!). Посмотрим, почему с датами в
=A2-A1 отображения.
- даты: 18.04.1985; 17.08.1977;
кол-ва дней ДО
- изображен пример отчета конечной датами. А ошибки #ЗНАЧ.
можно складывать и
в функции
- Y месяцев необходимо снова использовать=DATE(YEAR(A2),MONTH(A2)+2,DAY(A2)) или отнять (отрицательное. Откроется диалоговое окно одну дату из это происходит.
Excel (наши или
даёт тот же
Обратите внимание, что в 08.12.1992 начала события (не с использованием функции самый интересный аргумент,ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:
вычитать даты. Надеюсь,ДАТА; ДЕНЬ( функциюВычесть месяцы число) в какой-тоФормат ячеек другой.Когда Вы вычитаете более любые другие уроки), результат. формате ячеек поВ ячейки B1:B3 проставьте находи отрицательные значения) РАЗНДАТ и второй конечно, последний -ФОРМУЛЫ МАССИВА: что сегодня Вы(DATE).датаДАТАиз даты: ячейке, скажем, в(Format Cells). На
Пример 2. Вычитание дней из даты в Excel
Если нужно позднюю дату (6 то должны знатьВведите «m», как третий умолчанию «Общий», даты текущею дату.Подскажите как ее вариант с помощью
он определяет, какимФункция работает в узнали пару полезныхПрибавить время
) +
(DATE), но на
=ДАТА(ГОД(A2);МЕСЯЦ(A2)-2;ДЕНЬ(A2))
C2
Как прибавить (вычесть) несколько недель к дате
вкладкеподсчитать количество месяцев или мая 2015) из формулы для вычисления аргумент, чтобы получить также как иТеперь нужно воспользоваться функцией доработать?
- обычного вычитания дат. именно образом и формулах массива
функций. В любомв Excel:Z дней
этот раз нужно=DATE(YEAR(A2),MONTH(A2)-2,DAY(A2)).Число лет между двумя
более ранней (1
- единиц времени, таких количество месяцев между число выравниваются по
по преобразованию количества200?'200px':''+(this.scrollHeight+5)+'px');">=РАЗНДАТ(A2;СЕГОДНЯ();"y")&" лет "&РАЗНДАТ(A2;СЕГОДНЯ();"ym")&" мес. В отчете необходимо
в каких единицахЭТОГО НЕТ В случае благодарю Вас
= A2 + ВРЕМЯ(
)
Как прибавить (вычесть) несколько месяцев к дате в Excel
указать количество лет,В Excel предусмотрена специальнаяВведите в ячейку(Number) в списке датами мая 2015), операция как дни, недели, двумя датами. правой стороне, а
Пример 1. Прибавляем несколько месяцев к дате с помощью функции ДАТА
дней в количество «&РАЗНДАТ(A2;СЕГОДНЯ();»md»)&» дн.» посчитать сколько осталось будет измеряться интервал ОФИЦИАЛЬНОЙ СПРАВКЕ EXCEL: за внимание ичасы= DATE(YEAR( которые Вы хотите функция, которая возвращаетB2
числовых форматов выберите, тогда функция вычитания возвращает отрицательное месяцы, года.=DATEDIF(A1,A2,»m») текст по левой. лет. Для этогоВроде все правильно дней от сегодняшнего между начальной иСобственно говоря, самой надеюсь увидеться снова!;дата добавить: дату, отстоящую отуказанную ниже формулу,
Дата
РАЗНДАТ
число. Однако синтаксисАнализируя даты в каких-либо=РАЗНДАТ(A1;A2;»m») Значение в ячейке вручную введите в сделал?! дня до оплаты конечной датами. Этот функции РАЗНДАТ нетУрок подготовлен для Васминуты) +
- = ДАТА(ГОД( заданной на определенное щёлкните по выделенному(Date) и затем(DATEDIF) – единственное
- функции данных, часто нужноВведите «y» третьим аргументом, B4 распознается программой диапазон C1:C3 следующее_Boroda_ фактур: параметр может принимать
- в справке Excel. командой сайта office-guru.ru;X летдата
количество месяцев назад углу ячейки и укажите нужный вам возможное решение. ВРАЗНДАТ выполнять над этими
чтобы получить количество как текст. значение: =РАЗНДАТ(A1;B1;»y»).: На этот раз
Как показано на рисунке,
следующие значения:
Более того нетИсточник: https://www.ablebits.com/office-addins-blog/2015/05/13/subtract-dates-excel-add-days-months-years/секунды, MONTH() + или вперёд, – протащите его мышкой формат. Более подробное
- продолжении статьи Вы(DATEDIF) не позволяет,
датами арифметические действия.
лет между двумя
- В ячейке B7 ExcelТаким образом, применение функции
да
в ячейке D4
Пример 2. Прибавляем или вычитаем месяцы из даты с помощью функции ДАТАМЕС
»y» её и вПеревел: Антон Андронов)датаN лет это функция вниз по столбцу описание Вы найдёте найдёте несколько примеров чтобы Эта статья объяснит датами.
сам присвоил текущий позволило нам точноДержите находиться следующая формула:
- разница в полных годах мастере функций. ИАвтор: Антон Андронов= A2 + TIME(
- ) +; МЕСЯЦ(ДАТАМЕСB в статье Как
формул, подробно раскрывающихначальная дата некоторые формулы сложения=DATEDIF(A1,A2,»y») год (сейчас 2015-ый) вычислить возраст по200?’200px’:»+(this.scrollHeight+5)+’px’);»>=РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»y»)&» лет «&РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»ym»)&» мес.
=РАЗНДАТ(СЕГОДНЯ();A2;»d»)»m» при наборе вручнуюСИНТАКСИС:часыY месяцевдата(EDATE). Она доступнадо последней заполненной изменить формат даты эту функцию.была больше
- и вычитания дат,=РАЗНДАТ(A1;A2;»y») по умолчанию. Это
дате рождения в
"&РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());"md")&" дн."
- В первой формуле используетсяв полных месяцах первых букв названия
=РАЗНДАТ(нач_дата;кон_дата;код)
,
, DAY(); ДЕНЬ( в последних версиях ячейки в столбце в Excel.Теперь, когда Вы знаете,конечной даты которые могут оказатьсяПропишите «yd» в качестве видно при отображении Excel.HoBU4OK функция РАЗНДАТ с
Как прибавить (отнять) годы к дате в Excel
»d» функции Excel тожеАРГУМЕНТЫ:минутыдатадата Excel 2007, 2010,AЧтобы вычесть определённое количество как вычитать однуи, естественно, возвращает для Вас полезными.
третьего аргумента, чтобы содержимого ячеек вВнимание! Чтобы перевести дни: Спасибо, работает! кодом измерения временив полных днях не покажет подсказку1. нач_дата -,
) +)) 2013 и новой. Формула из ячейки дней из даты, дату из другой, ошибку.Вычитание двух дат в отбросить годы и
строке формул. Обратите в года неДата и время в
- – «d» (дни),»yd» в выпадающем списке. начальная дата.секунды
Z дней
= DATE(YEAR(
- Excel 2016.B2 Вам снова нужно посмотрим, как можноЧтобы вычесть определенную дату
Excel
получить только количество
внимание, как изначально достаточно формулы: =(B1-A1)/365. Excel – это в третьем аргументеразница в днях с Объясняется это довольно2. кон_дата -))дата
Прибавление (вычитание) дней, месяцев и лет к дате
При использованиибудет скопирована во использовать обычную арифметическую прибавить или вычесть из текущей даты,Как прибавить (отнять) дни дней между двумя вводилось значение в Более того даже числа сформатированные специальным функции. В результате начала года без
- просто. Эта функция конечная дата.Вычесть времяДля) +
ДАТАМЕС все ячейки столбца операцию. Единственное отличие из даты определённое Вы можете использовать к дате в датами. A7. если мы знаем образом. Датой является вычисления формулы функция учета лет изначально не является
3. код -в Excel:вычитанияN лет(EDATE) Вы указываетеB от предыдущего примера количество дней, месяцев любую из ранее Excel=DATEDIF(A1,A2,"yd")На чистом листе в что 1 сутки
- целая часть числа, РАЗНДАТ возвращает количество»md» функцией Excel. Она текстовое значение, которое
= A2 - ВРЕМЯ(X лет, Y, MONTH( два следующих аргумента:. – минус вместо или лет. Для описанных формул. ПростоКак прибавить (вычесть) несколько=РАЗНДАТ(A1;A2;"yd") ячейки А1:B1 введите = 0,0027397260273973 года, а время (часы
дней в данномразница в днях без всего лишь поддерживается указывает в какихчасы месяцев и ZдатаНачальная дата=ДАТА(ГОД(A2);МЕСЯЦ(A2)+$C$2;ДЕНЬ(A2)) плюса этого существует несколько вместо сегодняшней даты недель к дате
Введите «md», как третий 01.01.1900, а в то формула:=(B1-A1)*0,0027397260273973 так и минуты) – периоде. В значениях учета месяцев и Excel для совместимости единицах необходимо вернуть
;
дней:
), DAY(– дата, от=DATE(YEAR(A2),MONTH(A2)+$C$2,DAY(A2))
=
функций Excel. Что
Как складывать и вычитать время в Excel
используйте функциюДобавляем месяцы к дате аргумент, чтобы отбросить ячейках A2:B2 вводим же не даст это дробная часть. ячеек мы получили лет с другими системами разницу дат.минуты= ДАТА(ГОД(дата которой отсчитывается количествоПосмотрим, что делает эта
- Дата именно выбрать зависит
СЕГОДНЯ в Excel месяцы и получить 01.01.1901. Теперь меняем точного результата.По умолчанию число 1 число дней, которое
"ym" электронных таблиц. ВСписок допустимых значений;дата)) месяцев.
- формула. Логика формулы-
от того, какие(TODAY):Добавляем годы к дате только количество дней формат ячеек наДни в года наиболее соответствует дате 01
должно пройти отразница в полных месяцах Excel эта функция аргумента:секунды) -На листе Excel, формулы
Месяцы ясна и очевидна.N дней единицы времени требуется=СЕГОДНЯ()-A2
в Excel между двумя датами. «числовой» в выделенном точно преобразует функция:=РАЗНДАТ(). января 1900 года. сегодняшней даты (ее без учета лет попала из электронных
Код
)
X лет могут выглядеть следующим– количество месяцев, ФункцияВот несколько примеров формул: прибавить или вычесть.=TODAY()-A2Прибавление (вычитание) дней, месяцев=DATEDIF(A1,A2,»md») диапазоне B1:B2. Для Английская версия =DATEDIF(). То есть каждая возвращает функция СЕГОДНЯ)
Например:
таблиц Lotus 1-2-3.
Результат вычисления функции= A2 — TIME(; МЕСЯЦ( образом: которые нужно прибавить
ДАТА(
=A2-10
Если у Вас естьили и лет к=РАЗНДАТ(A1;A2;»md»)
этого можно нажать Вы не найдете дата – это до сроков оплат,Т.е. при желании подсчитатьВ КАКОЙ ВЕРСИИ»y»часыдата
Прибавляем 5 лет (положительное число) или
год
=ДАТА(2015;5;6)-10
дата в ячейке
office-guru.ru
РАЗНДАТ() DATEDIF()
=РАЗНДАТ(A2;СЕГОДНЯ();»d»)
дате
Введите «ym» третьим аргументом,
комбинацию клавиш CTRL+SHIFT+1. ее в списке
количество дней прошедших изначально указанных в
и вывести, например, EXCEL РАБОТАЕТ:Число полных лет в,) -
к дате, указанной отнять (отрицательное число).
; | =СЕГОДНЯ()-10 | ||
или список дат | =DATEDIF(A2,TODAY(),»d»)Как складывать и вычитать | ||
чтобы отбросить годы |
|
||
от 01.01.1900. На |
|
||
В любой версии. | заданном промежуткеминутыY месяцев в ячейкеЭти формулы дадут тотмесяцКогда требуется прибавить (вычесть) в столбце, Вы | ||
Как и в предыдущем |
|
||
, |
|
примере, формулы отлично
Предположим, что у Вас
число месяцев между
– 367. То введете ее в рассмотрим даты, аВторой вариант формулы: 4 мес. 12
этой категории.Число полных месяцев всекундыдата: что и формулы
день
определенной дате, Вы
ним (или отнять) работают, когда текущая
в ячейках двумя датами.
есть прошел один строку формул, то на следующих уроках=A2-СЕГОДНЯ() дн.», необходимо ввестиДля вычислений длительностей интервалов заданном промежутке)) -=ДАТА(ГОД(A2)+5;МЕСЯЦ(A2);ДЕНЬ(A2)) с функцией) можете воспользоваться теми определённое количество дней, дата больше, чемA2=DATEDIF(A1,A2,»ym») високосный год (366 она сработает. – время.Во второй формуле мы в ячейку следующую
дат в Excel»d»
где
Z дней=DATE(YEAR(A2)+5,MONTH(A2),DAY(A2))
excelworld.ru
Вычисление возраста или стажа функцией РАЗНДАТ (DATEDIF)
ДАТАполучает следующие аргументы: же формулами, что используя соответствующую арифметическую вычитаемая. В противноми=РАЗНДАТ(A1;A2;»ym») дней) и 1
Функция РАЗНДАТ поддерживает несколькоТак как дата является делаем обычное вычитание формулу: есть функцияЧисло дней в заданномA2)Вычитаем 5 лет(DATE) в предыдущемГод и раньше. Просто операцию. случае функцияB2Важное примечание: день. параметров: числом, значит можно дат. От указанной=РАЗНДАТ(A1;A2;»y»)&» г. «&РАЗНДАТ(A1;A2;»ym»)&» мес.РАЗНДАТ промежутке– это ячейка= DATE(YEAR(из даты, указанной примере:из даты в нужно умножить количество
Общая формула добавления определённого
РАЗНДАТ
содержатся даты, иФункцияСпособ отображения даты можноПараметр проводить с ним в столбце А «&РАЗНДАТ(A1;A2;»md»)&» дн.», в английской версии»md» с временем, котороедата в ячейкеПри использовании функции ячейке недель на 7:
количества дней к | (DATEDIF) возвращает ошибку. |
нужно вычесть одну | DATEDIF |
задать с помощью | Описание |
математические вычислительные и | (новой) отнимаем сегодняшнююгде А1 — ячейка - |
Разность между номером дня | нужно изменить.) -A2 |
ДАТАМЕС | A2Прибавляем N недель |
дате выглядит так:
Если Вы предпочитаете вводить дату из другой,(РАЗНДАТ) возвращает количество диалогового окна «Формат»d» расчетные операции. Посчитать (старшую) дату. В с датой поступления
DATEDIF в дате аргумента
Например, чтобы добавить 2X лет:(EDATE) начальную дату;
к дате в=
даты непосредственно в чтобы узнать, сколько
planetaexcel.ru
Вычитание дат в Excel арифметически и с помощью функции РАЗНДАТ
полных дней, месяцев ячеек». Для егоКоличество полных дней количество дней между итоге получаем тот на работу, А2. кон_дата и номером часа 30 минут, MONTH(
Как посчитать сколько осталось дней до даты?
=ДАТА(ГОД(A2)-5;МЕСЯЦ(A2);ДЕНЬ(A2)) и количество месяцевМесяц Excel:Дата формулу, указывайте их между ними дней. или лет. Результаты вызова нажмите: CTRL+1.»m» двумя датами Excel
же результат. Почему — с датойНюанс в том, что
- дня в дате
- и 15 секунддата
=DATE(YEAR(A2)-5,MONTH(A2),DAY(A2))
можно указывать непосредственноиз даты в= A2 ++ с помощью функции Как часто бывает могут быть неожиданными, На закладке «Число»Количество полных месяцев не составляет особых это работает? В
увольнения. Вы не найдете аргумента нач_дата, при
к времени в
) -Чтобы получить универсальную формулу, в формуле. Даты ячейкеN недельN днейДАТА в Excel, этот когда количество дней/месяцев выберите в списке»y» проблем. Для наглядного Excel, как иили в английской версии эту функцию в этом значения месяца ячейкеY месяцев Вы можете ввести
можно задавать с
A2
* 7Дату можно задать несколькими(DATE), а затем результат можно получить второй даты меньше, «Числовые форматы» -Количество полных лет примера сначала выполним во всех других Excel: списке Мастера функций, и года вA2, DAY( количество лет в помощью функции+ количество месяцев,Например, чтобы прибавить 3 способами: вычитайте одну дату несколькими способами. чем количество дней/месяцев «Дата». В разделе»ym» сложение, а потом программах входящий в=DATEDIF(A1;A2;»y»)&» y. «&DATEDIF(A1;A2;»ym»)&» m. нажав кнопку заданных датах игнорируютсянадо использовать следующуюдата ячейку, а затемДАТА указанное в ячейке недели к датеCсылкой на ячейку:
exceltable.com
Отрицательный результат в формуле РАЗНДАТ (Формулы/Formulas)
из другой.Думаю, Вы знаете, что
первой. Смотрите пример «Тип» отображаются самыеКоличество полных месяцев без вычитание дат. Для пакет MS Office «&DATEDIF(A1;A2;»md»)&» d.»fx
»ym» формулу:
) - в формуле обратиться
(DATE) или какC2
в ячейке=A2+10Функция
Excel хранит даты
ниже. популярные форматы для
учета лет этого:
excelworld.ru
Как вычислить дату в Excel
используется система нумерацииОдна из наиболее часто- она являетсяРазность между номером месяца=A2+ВРЕМЯ(2;30;15)Z дней к этой ячейке. результат выполнения других
;А2Обращением к функцииДАТА в виде целыхРазница составляет 6 лет. отображения дат.»md»На чистом листе в дат под названием выполняемых в мире
Как в Excel посчитать дни между датами?
недокументированной возможностью Excel. в дате аргумента=A2+TIME(2,30,15)) Положительное число позволит формул. Например:День, используйте следующую формулу:ДАТАимеет следующий синтаксис: чисел, начиная с А на самомСкачать примеры вычисления даты
- Количество дней без учета ячейку А1 введите «система 1900». Каждая бизнеса операций с
- Точнее говоря, найти кон_дата и номеромЕсли вы хотите прибавлять
- Например, следующая формула прибавляет прибавить годы к
Эта формула прибавляет 10из даты в=A2+3*7(DATE):ДАТА( 1, что соответствует деле почти 7! в Excel месяцев и лет текущею дату нажав дата в Excel датами является вычисление описание этой функции
дня в дате
Вычисление возраста по дате рождения в Excel
и вычитать единицы 2 года и дате, а отрицательное
- месяцев к 7 ячейкеВычитаем N недель=ДАТА(2015;5;6)+10
- год 1 января 1900
- Используйте следующую формулу,Читайте также: Функции для»yd» CTRL+;. – это число количества дней между и ее аргументов
аргумента нач_дата, при времени в одной 3 месяца, и – вычесть. мая 2015 года
A2из даты в=DATE(2015,5,6)+10; г. Поэтому Вы чтобы Excel вернул работы с датамиКоличество дней без учетаВ ячейке A2 введите пройденных дней от
двумя датами. В можно только в этом значения номеров формуле, просто добавьте вычитает 15 днейЕсли Вы внимательно читали=ДАТАМЕС(ДАТА(2015;5;7);10); Excel:Обращением к другой функции.
месяц можете просто арифметически
7 лет. | в Excel |
лет | промежуточный период в |
01.01.1900г. Если в | Excel можно решить |
полной версии англоязычной | дня и года |
к нужным значениям | из даты в два предыдущих примера, |
=EDATE(DATE(2015,5,7),10) | Всё просто! Если Вы= А2 - |
Например, чтобы прибавить | ; вычесть одно число |
=YEAR(A2)-YEAR(A1)На следующем уроке мы
Проиллюстрируем пример использования нескольких днях, например 127. ячейке с датой данную задачу арифметическим справки, поскольку на
Ввод даты в ячейку Excel
в заданных датах знак минус «-«. ячейке то, думаю, догадались,Эта формула отнимает 10 введёте вN недель
несколько дней кдень из другого:
=ГОД(A2)-ГОД(A1) на готовых примерах параметров:В ячейку A3 введите поменять формат на вычитанием или с
самом деле она игнорируются Следующая формула прибавляетA2 как добавить (или месяцев от сегодняшнейC2* 7 текущей дате, используйте)
=B2-A2Урок подготовлен для Вас будем работать соВнимание! Чтобы функция:=РАЗНДАТ() работала формулу:=A1+A2. «Общий» или «Числовой» помощью функции РАЗНДАТ. оставлена для совместимости»yd» к времени в
Вычисление даты Excel
: вычесть) сразу годы, датыотрицательное число, формулаЧтобы вычесть 2 недели функцию.Если предыдущая формула кажется командой сайта office-guru.ru временем и периодами
без ошибок, следитеОбратите внимание, формат «Дата» то вместо датыРуководители проектов выполняют такие со старыми версиямиРазность в днях между ячейке
=ДАТА(ГОД(A2)+2;МЕСЯЦ(A2)+3;ДЕНЬ(A2)-15) месяцы и дни=ДАТАМЕС(СЕГОДНЯ();-10) вычтет месяцы, а из сегодняшней даты,СЕГОДНЯНапример, следующая формула вычитает Вам слишком простой,Источник: http://www.excel-easy.com/examples/datedif.html суток. за тем, чтобы автоматически присвоился для
будет отображается числовой расчеты с целью
Excel и Lotus датами аргументов кон_датаA2
=DATE(YEAR(A2)+2,MONTH(A2)+3,DAY(A2)-15) к дате в=EDATE(TODAY(),-10) не прибавит. используйте эту формулу:
exceltable.com
(TODAY):
Содержание
- Функция DATEDIF (РАЗНДАТ) в Excel. Как использовать?
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Дополнительная информация
- Примеры использования функции РАЗНДАТ в Excel
- Пример №1. Подсчет количества лет между двумя датами
- Пример №2. Подсчет количества месяцев между двумя датами
- Пример №3. Подсчет количества дней между двумя датами
- Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в EXCEL
- Синтаксис функции:
- 1. Разница в днях («d»)
- 2. Разница в полных месяцах («m»)
- 3. Разница в полных годах («y»)
- 4. Разница в полных месяцах без учета лет («ym»)
- 5. Разница в днях без учета месяцев и лет («md»)
- 6. Разница в днях без учета лет («yd»)
- Еще раз о кривизне РАЗНДАТ()
Функция DATEDIF (РАЗНДАТ) в Excel. Как использовать?
Функция DATEDIF (РАЗНДАТ) в Excel используется для подсчета количества лет, месяцев или дней между двумя датами. Хороший пример – подсчет возраста.
Что возвращает функция
Число, обозначающее количество лет/месяцев/дней между двумя датами. Какие значения будут отображаться (год, месяц или дни) зависит от того, что будет указано вами в атрибутах функции.
Синтаксис
=DATEDIF(start_date,end_date,unit) – английская версия
= РАЗНДАТ( нач_дата ; кон_дата ; единица) – русская версия
Аргументы функции
- start_date (нач_дата): дата, с которой начинается вычисление разницы во времени между двумя датами. Дата может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления (например в функции ДАТА());
- end_date (кон_дата): дата, на которой вычисление разницы во времени между двумя датами будет окончено. Она, также, может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления;
- unit (единица): Этот аргумент определяет в каком измерении будет отображена разница между двумя датами (год, месяц, день). Существует 6 различных типов отражения данных:
- “Y” – возвращает данные в количестве лет между двумя датами;
- “M” – возвращает данные в количестве месяцев между двумя датами;
- “D” – возвращает данные в количестве дней между двумя данными;
- “MD” – возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, месяца, которые уже прошли при расчете данных. Например, если вы рассчитываете количество дней между двумя датами: 1 Января 2017 и 3 Марта 2017, функция выдаст значение “2”, так как не будет учитывать два прошедших полных месяцев (Январь, Февраль);
- “YM” – возвращает данные в количестве месяцев между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными данными;
- “YD” – возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными датами.
Дополнительная информация
- При вводе функции в ячейку, она не отображается в быстром меню выбора функций. Тем не менее функция работает во всех версиях Excel. Важно знать аргументы функции и как ими пользоваться;
- Данные даты в функции могут быть введены как:
– дата указанная в виде текста в кавычках;
– число;
– как результат вычисления, формулы, функции.
Примеры использования функции РАЗНДАТ в Excel
Пример №1. Подсчет количества лет между двумя датами
На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.
Пример №2. Подсчет количества месяцев между двумя датами
На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество полных месяцев между двумя датами – 19 июня 1989 года и 26 марта 2017 года.
Функция возвращает значение “333”, что является количеством полных месяцев между датами указанными выше.
Пример №3. Подсчет количества дней между двумя датами
На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество дней между двумя датами. Например, функция возвращает значение “10142” дня между двумя датами – 19 июня 1989 года и 26 марта 2017 года.
Если вы хотите посчитать количество дней между двумя датами, исключая количество лет, которые уже завершены, вам нужно использовать аргумент “YD” в качестве третьего (пример на рисунке ниже):
В приведенном выше примере он возвращает значение “280”, то есть число дней между днями, исключая 27 полных лет.
Если вы хотите посчитать количество дней между двумя датами, исключая количество полных лет и месяцев, используйте атрибут “MD” в качестве третьего аргумента (как показано на рис. ниже):
На примере выше функция возвращает значение “7” означающие количество дней между двумя днями “19” и “26” число, исключая значения лет и месяцев.
Еще больше полезных приемов в работе со списками данных и функциями в Excel вы узнаете в практическом курсе “От новичка до мастера Excel“. Успей зарегистрироваться по ссылке!
Источник
Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в EXCEL
history 8 апреля 2013 г.
Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье Расчет страхового (трудового) стажа в 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). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.
Источник
- Remove From My Forums
-
Question
-
Hi,
I think I found a bug in Excel with the DATEDIF Function. I tested it with 2016 and 2010 Version and both had the same strange behaviour.
After changing a cell reference, the Function isn’t recognized as function any more and therefore not calculated any more.
I have two sample files.
https://onedrive.live.com/redir?resid=8C1098E4EB9F1535!579&authkey=!AIqvojkEERVirMc&ithint=file%2czip
Greetings
Benedikt
-
Edited by
Friday, January 22, 2016 3:31 PM
-
Edited by
Answers
-
F4, the cell with the DATEDIF formula, has been formatted a Text. Hence, whenever you edit it, Excel will display the formula as entered.
You must format F4 as General instead. Then click in the formula and press Enter.
A simpler formula with the same result is =B3-A2+1
Regards, Hans Vogelaar (http://www.eileenslounge.com)
-
Marked as answer by
Dulla123
Monday, January 25, 2016 4:53 PM
-
Marked as answer by