Нет функции разндат в excel альтернатива

РАЗНДАТ(. ) / DATEDIF(. )

Вычисляет количество дней, месяцев или лет между двумя датами.

ЭТОГО НЕТ В ОФИЦИАЛЬНОЙ СПРАВКЕ EXCEL:

Собственно говоря, самой функции РАЗНДАТ нет в справке Excel. Более того нет её и в мастере функций. И при наборе вручную первых букв названия функции Excel тоже не покажет подсказку в выпадающем списке. Объясняется это довольно просто. Эта функция изначально не является функцией Excel. Она всего лишь поддерживается Excel для совместимости с другими системами электронных таблиц. В Excel эта функция попала из электронных таблиц Lotus 1-2-3. НО работает эта функция в любой версии Excel

СИНТАКСИС:

=РАЗНДАТ(нач_дата;кон_дата;код)

АРГУМЕНТЫ:

1. нач_дата — нач альная дата.
2. кон_дата — конечная дата.
3. код — текстовое значение, которое указывает в каких единицах необходимо вернуть разницу дат.

Список допустимых значений аргумента «КОД»
КОД ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
«Г» «Y» Число полных лет в периоде.
«М» «M» Число полных месяцев в периоде.
«Д» «D» Число дней в периоде.
«МД» «MD» Разница между днями дат нач_дата и кон_дата. Месяцы и годы дат игнорируются.
«ГМ» «YM» Разница между месяцами дат нач_дата и кон_дата. Дни и годы дат игнорируются.
«ГД» «YD» Разница между днями дат нач_дата и кон_дата. Годы дат игнорируются.

ОГРАНИЧЕНИЯ:

Если аргумент кон_дата соответствует более ранней дате чем аргумент нач_дата функция вернёт значение ошибки #ЧИСЛО.
Если какой-либо из аргументов нач_дата или кон_дата не являются допустимой датой, то функция вернёт значение ошибки #ЗНАЧ.

Расчет количества дней между датами в Эксель

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

Расчет разности дат

Для корректной работы с датами сперва нужно задать ячейкам соответствующий формат. В противном случае возможны проблемы с корректным отображением дат, что сделает невозможным их дальнейшую обработку.

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

    Для начала выделяем целевой диапазон ячеек, воспользовавшись зажатой левой кнопкой мыши.

Формат ячеек - Дата

  • по умолчанию мы должны оказаться во вкладке “Число” (если это не так, переключаемся в нее);
  • в списке “Числовые форматы” находим позицию “Дата” и кликаем на нее;
  • в поле “Тип” выбираем нужный образец представления данных, в соответствии с которым они будут отображаться на листе;
  • нажимаем OK.

Метод 1: использование формулы вычитания

Начнем, пожалуй, с самого простого способа – вычитания двух дат, представленного в виде обычной формулы.

  1. Вносим две даты, между которыми будем определять разницу в днях, в две разные ячейки отформатированного ранее диапазона.Количество дней между двумя датами в Эксель
  2. Теперь выделим ячейку, в которой планируем отобразить результат нашего вычисления.
    Определение количества дней между двумя датами в ЭксельВАЖНО: Количество дней обозначается простым целым числом, следовательно, ячейка для его вывода должна иметь отличный от “Дата” формат, а именно – “Общий“. В противном случае полученный результат будет отображаться в формате даты, что не позволит оценить корректность проведенных вычислений. Для определения текущего формата ячейки достаточно взглянуть на соответствующее поле, расположенное в разделе инструментов “Число” на ленте вкладки “Главная“.

Формула расчета количества дней между датами в Эксель

  • в итоговую ячейку вводим знак “=“;
  • кликаем по ячейке с конечной датой (более поздней);
  • вводим с клавиатуры символ “” (знак минус);
  • кликаем по ячейке с начальной датой.

Метод 2: функция РАЗНДАТ

Следующий способ – это определение разницы между двумя датами при помощи функции РАЗНДАТ.

Функция имеет следующий синтаксис: =РАЗНДАТ(начальная_дата;конечная_дата;единица).

Если с двумя первыми аргументами все понятно – их суть соответствует названию, то на третьем (“единица“) стоит остановиться подробнее, так как именно он позволяет варьировать результат использования функции, выбирая единицу расчета разницы между датами:

  • d” — количество дней между датами;
  • m” — количество полных месяцев между датами;
  • y” — количество полных лет между датами;
  • YM” — разница между датами в месяцах;
  • MD” — разница между датами в днях, без учета месяцев и лет;
  • YD” — разница между датами в днях, без учета лет.

В нашем случае покажем пример использование аргумента “YD”, так как целью расчета является определение количества дней между датами в пределах года.

Основное отличие от простого вычитания одной даты из другой – в порядке следования аргументов функции: в качестве первого аргумента выбирается начальная (более ранняя дата), а в качестве второго – конечная (более поздняя). Опишем ниже алгоритм вычислений.

  1. Выбираем целевую ячейку, проверяем ее формат по способу, описанному выше.
  2. Описываемая функция отсутствует в Мастере функций, поэтому вводим ее в ячейку вручную, строго придерживаясь синтаксиса.Формула функции РАЗНДАТ в Эксель
  3. Жмем Enter и проверяем полученный результат. Как мы видим, он аналогичен тому, который мы получили, используя простую формулу вычитания. Значит все сделано верно.Разница между двумя датами с помощью функции РАЗНДАТ

Метод 3: функция ЧИСТРАБДНИ для определения количества рабочих дней

Третий описываемый метод позволяет вычислить количество дней с дополнительным условием – исключением из него нерабочих (выходных и праздничных) дней.

В данном методе используется функция ЧИСТРАБДНИ со следующим синтаксисом: =ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники]).

Первые два аргумента аналогичны функции РАЗНДАТ. Последний аргумент является опциональным, то есть функция будет работать и без его указания. Однако именно он позволяет учесть в критериях вычисления нерабочие праздничные дни, так как по умолчанию из общего количества уберутся только субботы и воскресенья.

Приступаем к вычислениям:

  1. Так как описываемая функция присутствует в списке Мастера функций, воспользуемся им для большей наглядности: встаем на ячейку, куда будем выводить результат и щелкаем по кнопке “Вставить функцию” (fx), расположенной слева от строки формул.Вычисление количества рабочих дней между двумя датами
  2. В открывшемся окне Мастера функций:
    • выбираем категорию “Полный алфавитный перечень”;
    • находим и кликаем в списке операторов по строке “ЧИСТРАБДНИ”;
    • нажимаем ОК.Функция ЧИСТРАБДНИ в Эксель
  3. Перед нами появится окно аргументов функции. Здесь можно ввести адреса ячеек вручную или, находясь в поле для заполнения значений аргумента, кликнуть по нужной ячейке на листе. Выбрав начальную и конечную дату, а также указав праздничный день (адрес ячейки), нажимаем ОК.Аргументы функции ЧИСТРАБДНИ в Эксель
  4. Предположим, в этот раз мы заранее не задали формат итоговой ячейки как “Общий”. Тогда мы получим результат, отображающийся в виде даты.Количество рабочих дней между двумя датами с помощью функции ЧИСТРАБДНИ
  5. Следовательно, необходимо снова проверить формат по алгоритму, описанному выше и изменить его на “Общий”.Вычисление количества рабочих дней между двумя датами с помощью функции ЧИСТРАБДНИ

Заключение

С помощью описанных выше методов можно достаточно легко посчитать количество дней между двумя датами, как с наличием дополнительных критериев, так и без них. Формула вычитания и функция РАЗНДАТ прекрасно подойдут для простого подсчета дней, а функция ЧИСТРАБДНИ поможет с расчетом количества именно рабочих дней между датами. Окончательный выбор зависит от поставленной перед пользователем задачи.

Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в 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). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.

Skip to content

Как посчитать количество дней между датами в Excel? Примеры и советы.

Из этого обзора вы узнаете несколько быстрых и простых способов подсчета, сколько дней проходит между двумя датами в Excel.

Вам интересно, сколько составляет разница в днях, месяцах и годах между двумя датами? Может быть, вам нужно знать количество дней между сегодняшним днем ​​и какой-либо точкой в прошлом или будущем?

Какова бы ни была ваша проблема, один из приведенных ниже примеров в Excel наверняка подскажет вам решение.

  • Простой калькулятор дней
  • Как рассчитать разницу в днях?
  • Расчёт разницы между датами при помощи функции РАЗНДАТ (DATEDIF)
  • Разница в днях
  • В полных месяцах
  • В полных годах
  • В полных месяцах без учёта лет
  • Разница в днях без учета месяцев и лет
  • В днях без учёта лет
  • Как посчитать разницу в днях, месяцах и годах
  • Подсчёт с помощью функции ДНИ
  • Как рассчитать количество дней между сегодняшним днем и другой датой
  • Мастер даты и времени — простой способ создавать формулы разницы дат в Excel

Простой калькулятор дней.

Если вы ищете быстрый ответ, просто укажите две даты в соответствующих ячейках, и наш калькулятор покажет вам, сколько суток между ними:

Хотите узнать формулу, которая рассчитала эти результаты? Это так же просто, как =B3-B2:)

Обратите внимание, что нужно четко знать, что именно вы хотите подсчитать: «дни включительно» или «дни между».

Кроме того, прежде чем выполнять операции с датой-временем, нужно установить правильный формат в ячейках вашей таблицы. Чаще всего Эксель сам подбирает нужный формат представления данных, но все же лучше подстраховаться.

Для этого выберите клетку или диапазон ячеек с числами, которые вы хотите представить как даты, и нажмите комбинацию клавиш Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». На вкладке «Числовые форматы» в пункте «Дата», выберите подходящий для вас внешний вид в разделе «Тип» и нажмите кнопку «ОК».

Далее вы найдете подробное объяснение того, как работает эта формула, и узнаете несколько других способов вычисления.

Как рассчитать разницу в днях?

Самый простой способ рассчитать дни между датами в Эксель — вычесть одну из другой:

= Более новая — Более старая

Как мы уже сказали ранее, чтобы узнать, сколько времени пройдет в периоде между ячейками В3 и B2, используйте следующую формулу:

=B3 — В2

где В2 — более ранняя, а B3 — более.

Результатом подсчета является целое число, которое представляет количество дней внутри временного интервала.

Однако, будьте здесь внимательны: при подобном подсчете отработанных дней в том случае, если человек работал и в первый, и в последний день, то 1 день будет «потерян». Добавьте в вашу формулу +1 день.

Как работает эта формула?

Как вы, вероятно, знаете, Microsoft Excel хранит даты в виде порядковых номеров, начинающихся с 1 января 1900 года, которому соответствует номер 1. В этой системе 2 января 1900 года сохраняется как число 2, 3 января 1900 года как 3 и так далее. Таким образом, вычитая одну дату из другой, вы фактически вычитаете целые числа, представляющие их.

В нашем примере формула в C5 на самом деле вычитает 43892 (числовое значение 2 марта 2020г.) из 43900 (числовое значение 10 марта 2020г.) и возвращает результат 8 дней.

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

Рассчитать разницу между датами в Excel с помощью РАЗНДАТ (DATEDIF).

Другой способ — как в Экселе посчитать дни в заданном временном интервале — использование функции РАЗНДАТ (в английском варианте – DATEDIF), которая специально разработана для расчета разности во времени и представления её в различных единицах: дни, месяцы и годы.

А вот ее синтаксис:

= РАЗНДАТ(дата_нач; дата_кон; аргумент)

где

дата_нач и дата_кон — две временных отметки, разницу между которыми необходимо рассчитать,

аргумент – указывает, как представить результат; может иметь одно из следующих значений:

  • Y Число полных лет.
  • M Число полных месяцев.
  • D Число дней.
  • MD Разница в днях (значения месяца и года не учитываются).
  • YM Разница в месяцах (значения дня и года не учитываются).
  • YD Разница в днях, игнорируя значения года.

Чтобы получить количество дней между двумя датами, укажите момент  начала в первом аргументе, срок окончания во втором, и «d» в последнем третьем:

РАЗНДАТ(дата_нач; дата_кон; «d»)

DATEDIF (start_date, end_date, «d»)

Примечание. РАЗНДАТ (DATEDIF) — недокументированная функция, то есть ее нет в мастере функций в Excel. Вы не сможете ее вставить при помощи кнопки fx или меню Вставка — Функция.   Чтобы создать формулу РАЗНДАТ в таблице Экселя, вам нужно вписать ее название руками и ввести все аргументы вручную, подсказок ввода не будет.

В ней вы можете указывать исходные данные различными способами, такими как:

  • Ссылки на ячейки. Например, следующая формула вернет количество дней между A3 и B3:

=РАЗНДАТ(A3; B3; «D»)

Текстовые выражения. Excel понимает даты в различных форматах, например, «2 март 2020», «20.03.2020», «20/03/2020», «2020/03/20», «20-03-2020», «2020-03-20» и т.д.

Вот примеры расчета количества дней во временных промежутках:

=РАЗНДАТ(«2 март 2020»; «2020-03-20»; «D»)

=РАЗНДАТ(«02-03-2020»; «20/03/2020»; «D»)

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

  • Порядковые номера. Поскольку Microsoft Excel хранит каждую дату как порядковый номер, начинающийся с 1 января 1900 года, вы можете поместить числа, соответствующие датам, непосредственно в формулу. Хотя этот метод полностью поддерживается, все же он не является надежным, поскольку нумерация различается в разных компьютерных системах (Windows и MacOS).

В системе дат 1900 года следующая формула является еще одним способом вычисления месяцев по условиям из предыдущего примера (2 марта 2020 года и 10 марта 2020 года):

=РАЗНДАТ(43900; 43892; «D»)

  • Результаты выполнения других функций. Например, следующая формула подсчитывает, срок между сегодня (18 марта 2020г.) и 9 мая 2020 года.

=РАЗНДАТ(СЕГОДНЯ(); «9-05-2020»; «D»)

В отличие от операции вычитания, функция  РАЗНДАТ может только вычесть более старую дату из более новой, но не наоборот. Если точка начала позже точки окончания, расчет выдает ошибку #ЧИСЛО!, как в строке 4 на скриншоте ниже:

1.     Разница в днях.

В нашем примере формула расчета в D3 выглядит следующим образом:

=РАЗНДАТ(A3; B3; «D»)

Обратите также внимание, что при простом вычитании дат, которые также содержат время, мы получаем в результате дробное число. Так произошло в С5 и С6. Что делать с такими дробями – поговорим чуть позже. А вот время здесь просто игнорируется. В этом вы можете убедиться в диапазоне D5:I6.

Аналогичный результат можно получить формулами:

=ЦЕЛОЕ(В2)-ЦЕЛОЕ(А2)

Время, то есть дробная часть, будет отброшено.

Кстати, если нужно подсчитать только рабочие дни, то следует использовать выражение

=ЧИСТРАБДНИ(В2;А2)

Более подробно о расчете рабочих дней читайте здесь.

2.     Разница в полных месяцах.

Обращаемся к ячейке Е3:

=РАЗНДАТ(A3;B3;»m»)

Обратите внимание, выражение вернет количество полных месяцев. В нашем примере 13 месяцев и 7 дней «округлены» ровно до 13. И последний день интервала, как мы уже говорили, эта функция не учитывает. В частности,

=РАЗНДАТ(“01.03.2020”;”31.03.2020”;»m»)

возвращает результат 0, так как последний день не включается в расчет. Вы это видите в ячейке E7. Это также будет важно при расчете стажа и отработанного времени. Учитывайте эту особенность и просто добавляйте 1 дополнительный день!

Формула может быть заменена альтернативным выражением:

= 12*(ГОД(B3)-ГОД(A3))- (МЕСЯЦ(A3)-МЕСЯЦ(B3))-(ДЕНЬ(B3)<ДЕНЬ(A3))

3.     Разница в полных годах.

Формула в ячейке F3 вернет количество полных лет:

=РАЗНДАТ(A3;B3;»Y»)

Опять же, считается только полный год, остальное отбрасывается.

Ну и альтернативный способ расчета —

= ЕСЛИ(ДАТА(ГОД(B3); МЕСЯЦ(A3);ДЕНЬ(A3))<= B3; ГОД(B3)-ГОД(A3);ГОД(B3)-ГОД(A3)-1)

4.     Разница в полных месяцах без учета лет.

Используем в I3 аргумент «YM».

=РАЗНДАТ(A3;B3;»YM»)

Второй параметр и конечная точка у нас – 10.04.2020 г. Поскольку годы мы здесь игнорируем, то год первого параметра также становится 2020. И мы теперь сравниваем 10.04.2020 и 2.03.2020г.

Результат – 1 полный месяц.

А вот если начало, предположим, будет 01.09.2015г.? Ведь ее нельзя модифицировать до 01.09.2020, поскольку тогда функция выдаст ошибку. И программа ее меняет на 01.09.2019. Результат здесь – 7 полных месяцев.

Я очень сомневаюсь, что кто-то будет проводить подобный расчет. Но он нам будет нужен, чтобы подсчитать количество дней, месяцев и лет между двумя точками. Об этом мы поговорим чуть ниже.

Ну и альтернативный расчет –

=ОСТАТ((12*(ГОД(B3)-ГОД(A3))- (МЕСЯЦ(A3)-МЕСЯЦ(B3))-(ДЕНЬ(B3)<ДЕНЬ(A3)))/12)

5.     Разница в днях без учета месяцев и лет.

Здесь немного сложнее.  Итак, в G3 пишем:

=РАЗНДАТ(A3;B3;»MD»)

Разберем, как получен результат в G3. Поскольку для нас не важны месяц и год, мы в начальной дате меняем их на текущие. То есть вместо 02.03.2019 рассматриваем 02.04.2020.  Сравниваем с 10.04.2020 и получаем 8 дней. Есть ли в таком результате смысл? Вряд ли. Поэтому и не рекомендуется применение этого аргумента как отдельного расчета.

Быть может, поэтому РАЗНДАТ и нет в списке официальных функций Excel.

6.     Разница в днях без учета лет.

То же самое, что и в предыдущем аргументе. Считаем количество суток между двумя точками без учета лет.

=РАЗНДАТ(A3;B3;»YD»)

Для начального момента — 02.03.2019 и конечного – 10.04.2020, разница в 39 дней выглядит явной ошибкой. Аналогично – между 01.09.2015 и 10.04.2020 совсем не 222 дня.

Следовательно, использование этого аргумента также не рекомендуем.

А зачем же всё это нужно? Ответ читайте в следующем разделе.

Как посчитать разницу в днях, месяцах и годах.

Чтобы подсчитать, сколько полных лет, месяцев и дней составляет разница «от» и «до» с использованием одной формулы, вы просто объединяете три функции в одно выражение:

=РАЗНДАТ(B2;B3;»Y»)&» лет, «&РАЗНДАТ(B2;B3;»YM»)&» месяцев, «&РАЗНДАТ(B2;B3;»MD»)&» дней»

Если вы не хотите отображать нулевые значения лет, месяцев и дней, то выражение можно изменить, добавив условие ЕСЛИ:

=ЕСЛИ(РАЗНДАТ(B2;B3;»Y»)>0;РАЗНДАТ(B2;B3;»Y»)&» лет «;»»)&ЕСЛИ(РАЗНДАТ(B2;B3;»YM»)>0;РАЗНДАТ(B2;B3;»YM»)&» месяцев «;»»)&ЕСЛИ(РАЗНДАТ(B2;B3;»MD»)>0;РАЗНДАТ(B2;B3;»MD»)&» дней»;»»)

Более подробно об условиях и функции ЕСЛИ читайте здесь.

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

=ЕСЛИ(РАЗНДАТ(B2;B3;»y»);РАЗНДАТ(B2;B3;»y»)&» «&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;B3;»y»)-11;100);9);10);»[<1]год;[<4]года;лет»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;B3;»ym»);РАЗНДАТ(B2;B3;»ym»)&» меся»&ТЕКСТ(ОСТАТ(РАЗНДАТ(B2;B3;»ym»)-1; 11);»[<1]ц;[<4]ца;цев»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;B3;»md»)>0;РАЗНДАТ(B2;B3;»md»)&» д»&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;B3;»md»)-11;100);9); 10);»[<1]ень;[<4]ня;ней»);)

Выглядит угрожающе, но зато работает.

Подсчет с помощью функции ДНИ

У пользователей Excel 2013 и 2016 есть еще один удивительно простой способ посчитать количество дней во временном интервале — функция ДНИ.

ДНИ (дата_окончания; дата_начала)

Обратите внимание, что по сравнению с РАЗНДАТ, функция ДНИ требует указания дат в обратном порядке.

Итак, наше выражение принимает вид:

=ДНИ(B3;A3)

Как и обычное вычитание, оно возвращает разницу в виде положительного или отрицательного числа, в зависимости от того, больше или меньше срок окончания, чем начало:

Думаю, в большинстве случаев можно использовать простое вычитание. Возможно, при этом только нужно будет изменить формат ячейки, убрав дробную часть.

Как рассчитать количество дней между сегодня ​​и другой датой.

Для этого расчета вы можете использовать любую из формул, описанных выше, и применить функцию СЕГОДНЯ (TODAY в английском варианте) в качестве одного из аргументов.

Чтобы рассчитать количество прошедших дней с определенного момента, то есть между прошлым и сегодняшним днем:

=СЕГОДНЯ() – Дата_в_прошлом

Для подсчета количества дней, оставшихся до наступления какого-то события, то есть между будущим временем и сегодняшним днем:

=Дата_в_будущем — СЕГОДНЯ()

В качестве примера, давайте посчитаем разницу между текущим моментом времени ​​и более ранним — в A4 (сегодня 18 марта 2020г.):

=СЕГОДНЯ()–A3

А теперь давайте выясним, сколько осталось от сегодняшнего дня (18.03.2020г.) до более позднего срока:

Узнайте, сколько дней между сегодняшним днем ​​и будущим.

Ну а если не менять выражение по сравнению с предыдущим расчетом, то просто получите отрицательное количество дней.

Мастер даты и времени — простой способ создавать формулы разницы дат в Excel

Как показано в первой части этого руководства, функция РАЗНДАТ (DATEDIF) — довольно универсальная, подходящая для самых разных целей. Однако есть один существенный недостаток — она не документирована Microsoft, то есть вы не найдете РАЗНДАТ в списке функций и не увидите всплывающих подсказок для аргументов, когда начнете вводить формулу в ячейку. Чтобы иметь возможность использовать функцию РАЗНДАТ в своих таблицах, вы должны запомнить ее синтаксис и ввести все аргументы вручную, что может занять много времени и привести к ошибкам, особенно у начинающих.

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

  1. Выберите ячейку, в которую вы хотите вставить формулу.
  2. Перейдите на вкладку Ablebits Tools  и нажмите кнопку Мастер даты и времени (Date & Time Wizard).
  3. Появится диалоговое окно мастера даты и времени, где вы переходите на вкладку «Разница (Difference)» и вводите необходимые данные для расчёта:
    • Щелкните поле Дата 1  и выберите ячейку, содержащую первую дату.
    • Щелкните поле Дата 2 и укажите ячейку со второй датой.
    • Выберите желаемую единицу или комбинацию единиц времени из раскрывающегося меню «Разница в (Difference in)» . При этом программа позволяет предварительно просмотреть результат в поле и формулу в ячейке.

Инструмент может рассчитать разницу между двумя датами в 15 форматах:

  1. Годы
  2. Месяцы
  3. Недели
  4. Дни
  5. Годы + месяцы
  6. Годы + недели
  7. Годы + дни
  8. Месяцы + недели
  9. Месяцы + дни
  10. Недели + дни
  11. Годы + месяцы + недели
  12. Годы + месяцы + дни
  13. Годы + недели + дни
  14. Месяцы + недели + дни
  15. Годы + месяцы + недели + дни
  1. Если вас устраивает то, что вы увидели, нажмите кнопку «Вставить формулу (Insert Formula)», в противном случае попробуйте другие единицы измерения.

После того, как формула вставлена ​​в выбранную ячейку, вы можете скопировать ее вниз по столбцу, как обычно дважды щелкнув или перетащив маркер заполнения. 

К сожалению, метки даты и времени вставляются по-английски. Однако, поскольку надстройка формирует для вас не текст, а формулу расчета (что вы и видите на скриншоте), то откорректировать формулу и пользоваться в дальнейшем ее русской версией не слишком сложно.

Да и вряд ли вы самостоятельно напишете такую сложную конструкцию  😊

Для наиболее удобного представления результатов доступно еще несколько дополнительных опций:

  • Исключить годы и / или месяцы из расчетов. (Годы и / или месяцы просто будут отброшены).
  • Показывать или не показывать текстовые метки времени, такие как дни, месяцы, недели и годы .
  • Показывать или не показывать нулевые единицы (0 месяцев, например) .
  • Возвращает результаты как отрицательные значения, если Дата 1 (дата начала) больше, чем Дата 2 (дата окончания). Думаю, вы сталкивались с ситуацией, когда попытка вычесть из более ранней даты более позднюю приводила к ошибке. Здесь вы просто получите отрицательную разность.

Более подробная информация доступна здесь.

Преимущества использования мастера формул даты и времени

Помимо скорости и простоты, Мастер даты и времени предоставляет еще несколько преимуществ:

  • В отличие от обычной формулы РАЗНДАТ, для формулы, созданной мастером, не важно, какая из двух дат меньше, а какая больше. Разница всегда рассчитывается идеально, даже если Дата 1 (дата начала) больше, чем Дата 2 (дата окончания).
  • Мастер поддерживает все возможные единицы измерения (дни, недели, месяцы и годы) и позволяет вам выбирать подходящий вариант из 11 различных комбинаций этих единиц.
  • Формулы, которые мастер создает для вас, являются обычными формулами Excel, поэтому вы можете редактировать, копировать или перемещать их как обычно. Вы также можете поделиться своими таблицами с другими людьми, и все формулы останутся на своих местах, даже если у кого-то нет Ultimate Suite в их Excel.

Если вам интересно протестировать этот калькулятор дат, а также открыть для себя еще 60 надстроек для упрощения работы и экономии времени в Excel, то можете загрузить пробную версию  Ultimate Suite. Если вам понравились инструменты и вы решили купить лицензию, не пропустите это специальное предложение для читателей нашего сайта.

Думаю, теперь операции с датами стали для вас намного проще и понятнее. Если вы не нашли ответ на интересующий вас вопрос, ознакомьтесь с дополнительными материалами, ссылки на которые вы видите чуть ниже. Или напишите нам в комментариях – постараемся ответить.

Также рекомендуем статьи о работе с датами:

Как перевести время в число В статье рассмотрены различные способы преобразования времени в десятичное число в Excel. Вы найдете множество формул для преобразования времени в часы, минуты или секунды. Поскольку Microsoft Excel использует числовую систему для работы с временем, вы можете…
Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
Как вывести месяц из даты На примерах мы покажем, как получить месяц из даты в таблицах Excel, преобразовать число в его название и наоборот, а также многое другое. Думаю, вы уже знаете, что дата в…
Как быстро вставить сегодняшнюю дату в Excel? Это руководство показывает различные способы ввода дат в Excel. Узнайте, как вставить сегодняшнюю дату и время в виде статической метки времени или динамических значений, как автоматически заполнять столбец или строку…
Количество рабочих дней между двумя датами в Excel Довольно распространенная задача: определить количество рабочих дней в период между двумя датами – это частный случай расчета числа дней, который мы уже рассматривали ранее. Тем не менее, в Excel для…

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Видел кратко сегодня 2 темы Лунтика по замене скрытой функции РАЗНДАТ на обычные формулы.
Пока отвлекся, уже одну тему закрыли, а другую удалили.
Сильно не вникал в задачу иначе бы точно запутался ))
Но так как что-то уже было надергано из

источника

, то выложу здесь вариант для дат, больших текущей, аналогично использованию РАЗНДАТ с параметрами «m» и «md».  В столбце F — формулы с использованием РАЗНДАТ а в столбце G — обычными формулами.

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

ZVI, Владимир, добрый день. В указанной первой теме Лунтик так и не смог пояснить «правил игры» по этому и закрыли на четвертом листе первую.
но смотрите, он по каким то причинам хочет видеть
5 мес 21 день а не 4 мес 21 дн 4 мес 21 дн
ну и если уйти от технического приема в сторону для чего — это тоже было на уровне «так хочется» и нытье о помощи. Мне вот так и не понятно зачем ему это.

что касается техники, то по прежнему остается открытый вопрос,

«черный в белую полосочку или белый в черную»

, то есть между 28.02.2019 и 29.02.2020 12 месяцев или 12 месяцев и 1 день.

Изменено: БМВ07.02.2019 20:31:39

По вопросам из тем форума, личку не читаю.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Михаил, добрый вечер, я специально не вникал в нюансы Fuzzy Logic темы, а лишь изобразил прямой аналог РАЗНДАТ по результату, так как где-то там звучало, что в ОpenОffice нет такой функции. А сойдет или нет — мне не очень-то и важно  ;)

Изменено: ZVI07.02.2019 22:21:15

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

На всякий случай, когда-то уже приводил примеры ошибок функции РАЗНДАТ в теме

Разница дат

Причем, у разных версий Office попадались свои ошибки.
У РАЗНДАТ странная логика, но её назначение было в совместимости в Lotus 1-2-3 со всеми ошибками, поэтому она и скрыта.

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

ZVI,  смотрите, для сегодняшнего дня у Вас в ячейке C24 10 мес 30 дн, а должно быть 10 мес 27 дн. То есть месяцы должны считаться календарные. Подскажите, пожалуйста, как поправить формулу?

Ребята, вот мне реально не понятно, — что Вам не понятно. Есть рабочие формулы Михаила Витальевича С. и ZVI. Их нужно лишь чуть-чуть переделать. Всё вроде объяснено и в файле показано. Что не понятно?

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

Вы напишите как вы считает и почему это так, какие дни входят и почему именно так, только не так как файле:  A и B  должно быть С. Про всю бесполезность такого отображения этого Вам уже написали ранее. Это все равно что навигатор бы подсказывал, что через 100км 431м 24см вам резко вправо.

По вопросам из тем форума, личку не читаю.

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#7

11.02.2019 14:25:58

Цитата
БМВ написал: что через 100км 431м 24см вам резко вправо

Так мне именно это и нужно.

Цитата
БМВ написал: Вы напишите как вы считает и почему это так

Считаем для ячейки С24: 10 месяцев — это понятно — дней: 17 дней в этом феврале оставшихся + 10 дней января 2020 = 27 дней. Подскажите, пожалуйста, как исправить формулу.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

=12*(ГОД(C24)-ГОД(СЕГОДНЯ()))+МЕСЯЦ(C24)-МЕСЯЦ(СЕГОДНЯ())-(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ()))&» мес «&ЕСЛИ(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ());ДЕНЬ(C24)+ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0))-ДЕНЬ(СЕГОДНЯ());ДЕНЬ(C24)-ДЕНЬ(СЕГОДНЯ()))&» дн»

или немного покороче:
=12*(ГОД(C24)-ГОД(СЕГОДНЯ()))+МЕСЯЦ(C24)-МЕСЯЦ(СЕГОДНЯ())-(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ()))&» мес «&
ДЕНЬ(C24)-ДЕНЬ(СЕГОДНЯ())+ЕСЛИ(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ());ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0)); )&» дн»

Изменено: ZVI11.02.2019 15:18:55

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#9

11.02.2019 15:12:30

Цитата
Лунтик написал:
Что не понятно? Уже детально объяснил про ячейку C24. Объясните, пожалуйста, что не понятно.

а теперь все тоже про с23 4 мес 45 дней устроит? 17 в феврале и 28 в июне — так?

Изменено: БМВ11.02.2019 15:20:26

По вопросам из тем форума, личку не читаю.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

#10

11.02.2019 15:21:35

Цитата
БМВ написал: но вопрос про 45 так и останется открытым

Михаил, да вроде учел же ж ))
Для C23: 28-11=17 дн  

Прикрепленные файлы

  • РазностьДат.xls (30.5 КБ)

Изменено: ZVI11.02.2019 15:26:19

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#11

11.02.2019 15:25:06

Меня английский эксель. Вставляю руками — формула как-то меняется. Покажите в файле, пожалуйста.

Цитата
БМВ написал: 17 в феврале и 28 в июне — так?

Так тут уже за 31 день. Нужно КАЛЕНДАРНЫЕ месяцы считать.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

#12

11.02.2019 16:13:33

Цитата
Лунтик написал: Покажите в файле, пожалуйста.

К сообщению

#18

прикреплен файл

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#13

11.02.2019 16:29:45

Цитата
БМВ написал:
и вот где хоть раз это упомянуто

   Было упомянуто, что это — даты сертификатов. А кто считает срок действия сертификата иначе, чем по календарным месяцам? Да и исходя из объяснений по конкретным ячейкам разве сложно было понять?

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#14

11.02.2019 16:30:37

К тому же

Цитата
Лунтик написал:
То есть месяцы должны считаться календарные

в посте 9

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Лунтик, Вы файл смотреть-то будете?

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

Del

Изменено: БМВ11.02.2019 21:57:53

По вопросам из тем форума, личку не читаю.

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#17

11.02.2019 16:58:31

Цитата
ZVI написал:
Вы файл смотреть-то будете?

Было много работы. Посмотрел только сейчас. В ячейке C5 получается 53 мес 11 дн., а должно быть 53 мес 9 дн. Скажите, пожалуйста, как поправить формулу?

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

#18

11.02.2019 17:04:03

Цитата
Лунтик написал: а должно быть 53 мес 9 дн

Покажите расчет, как получается 9

 

Михаил Витальевич С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#19

11.02.2019 17:04:04

Цитата
Лунтик написал:
В ячейке C5 получается 53 мес 11 дн., а должно быть 53 мес 9 дн

объясните, почему?

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Посмотрите, так Вам нужно?

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#21

11.02.2019 17:14:06

Испортилась ячейка C23: было 4 мес 17 дн — и это правильно, а стало 4 мес 15 дн. Скажите, пожалуйста, как поправить формулу?

Цитата
ZVI написал: Покажите расчет, как получается 9

Объясняю: 53 мес — понятно, дни: я считаю так: поставим в ячейку C5 дату 01.08.2023. Считаем: 17 дней февраля и 1 день августа — 18 дней. Вычитаем 9 дней (между 1 августа и 22 июля) и получаем 9 дней. Итого 53 мес 9 дней.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

…Удалено…

Изменено: ZVI12.02.2019 14:30:33

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Лунтик, посчитайте по такой логике все остальные ячейки, где дата больше текущей, и приложите результат.

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

#24

11.02.2019 18:04:58

Если нужно быстро посчитать количество дней/месяцев между датами, то можно воспользоваться функцией ДНЕЙ360(), в ней есть разные варианты (методы)
Например, так:

Код
=ЦЕЛОЕ(ДНЕЙ360(A1;B1)/30)&" мес "&ОСТАТ(ДНЕЙ360(A1;B1);30)&" дн"

РАЗНДАТ имеет определенные ошибки, Владимир дал ссылку

Наверняка задача имеет свое прикладное назначение и есть методология для подсчета (лет, месяцев, дней)
например, в

Постановление Правительства РФ от 24 июля 2002 г. N 555″Об утверждении Правил подсчета и подтверждения страхового стажа для установления трудовых пенсий»

в п. 35 указано:

Цитата
35. Исчисление периодов работы … производится в календарном порядке из расчета полного года (12 месяцев). При этом каждые 30 дней указанных периодов переводятся в месяцы, а каждые 12 месяцев этих периодов переводятся в полные годы.

Думаю, что функция ДНЕЙ360() как раз для этого случая.

 

Михаил Витальевич С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#25

11.02.2019 18:33:21

Цитата
MCH написал:
Думаю, что функция ДНЕЙ360() как раз для этого случая.

Ещё есть ДОЛЯГОДА()… тоже можно использовать, и даже формулы полегче получаются…
Но для метода Лунтика, её тоже тяжко использовать.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Лунтик,  в приложенной таблице заполните, пожалуйста, столбцы C:D , а в E напишите комментарии по расчету.
Мы тогда либо разберемся в необходимом Вам алгоритме, либо поймем, что он противоречив.

Изменено: ZVI11.02.2019 19:00:24

 

sokol92

Пользователь

Сообщений: 4445
Регистрация: 10.09.2017

#27

11.02.2019 19:02:41

Здравствуйте, коллеги! Не может быть никакой логики для разности в месяцах, если ее нет для суммы.

Код
Sub test()
  Debug.Print DateAdd("m", 1, DateSerial(2019, 1, 28))   ' возвращает 28.02.2019
  Debug.Print DateAdd("m", 1, DateSerial(2019, 1, 31))   ' также возвращает 28.02.2018
    
  Debug.Print DateAdd("m", 1, DateSerial(2019, 2, 28))   ' возвращает 28.03.2019
  Debug.Print DateAdd("m", 2, DateSerial(2019, 1, 31))   ' возвращает 31.03.2019
End Sub

Например, добавляя два раза по месяцу к 31.01.2019, мы получаем результат, отличающийся от добавления двух месяцев сразу на три дня.
P.S. Особая благодарность Юлию Ц. и Августу :)  

Изменено: sokol9211.02.2019 19:06:39

Владимир

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Методики с датами обычно все какие-то кривоватые (стаж и выслуги и т.п.), да и в VBA даты

обязаны были

унаследовать ошибки истории

Изменено: ZVI12.02.2019 11:53:57

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#29

12.02.2019 11:42:40

Цитата
ZVI написал: в приложенной таблице заполните, пожалуйста, столбцы C:D

Пожалуйста.

Прикрепленные файлы

  • РазнДатПримеры.xls (7.5 КБ)

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#30

12.02.2019 12:11:49

вариант для дней для последнего примера

Код
=ЕСЛИ(ДЕНЬ(B2)<=ДЕНЬ(A2);КОНМЕСЯЦА(A2;0)-A2+B2-ДАТА(ГОД(B2);МЕСЯЦ(B2);1)+1;ЕСЛИ(КОНМЕСЯЦА(A2;0)=КОНМЕСЯЦА(B2;0);B2-A2;B2-КОНМЕСЯЦА(B2;-1)+КОНМЕСЯЦА(A2;0)-A2))

Прикрепленные файлы

  • РазнДатПримеры.xls (22 КБ)

Лень двигатель прогресса, доказано!!!

Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в 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:​
​ 01.03.2009​начальная_дата 01.02.2007, конечная_дата​ месяцев (см. ниже).​ 28.02.2009 и 01.03.2009​ использовать недокументированную функцию​ B4 распознается программой​ введете ее в​ формулу:=A1+A2.​ — подрубить под​ — с датой​ — Function)​ количество.​Преобразует дату в числовом​ что данная функция​ т.е. 28 (конечная​

​ отрицательный (-2 дня)!​

​начальная_дата 01.02.2007, конечная_дата​Результат:​
​ 01.03.2009​Пример2:​ результат будет 4​ РАЗНДАТ(), английский вариант​ как текст.​

​ строку формул, то​Обратите внимание, формат «Дата»​ размер надо… ;)​​ увольнения.​​, ее можно вручную​ГОД​ формате в месяцы.​ доступна в выпуске​ дата принадлежит марту,​Не советую использовать формулу​

​ 06.03.2009​1 (месяц), т.к.​Результат:​​начальная_дата 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 года.​ да​разница в полных годах​

​ есть функция​
Excel 2013

​ВРЕМЗНАЧ​Возвращает количество дней между​

​ ситуации?​

​ причинам, изложенным в​(год и месяц​ 01.04 больше чем​

​ в 1961г. +​

​ числа, см. статью​ в файле примера).​ в каких единицах​ – 367. То​Внимание! Чтобы функция:=РАЗНДАТ() работала​

​Теперь нужно воспользоваться функцией​

​ То есть каждая​Держите​»m»​РАЗНДАТ​Преобразует время из текстового​ двумя датами.​

​Модифицируем формулу для расчета​

​ предыдущем пункте.​ начальной даты заменяется​

​ 01.03)​
Excel 2013

​ 10 месяцев в​ Как Excel хранит​В файле примера значение​

​ будет измеряться интервал​

​ есть прошел один​ без ошибок, следите​

​ по преобразованию количества​

​ дата – это​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»y»)&» лет «&РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»ym»)&» мес.​

​в полных месяцах​

​, в английской версии​ формата в числовой.​ДНЕЙ360​

​ дней разницы без​
Excel 2010

​Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd»)​ годом и месяцем​Вся эта вакханалия нужна,​ 1962г.).​ дату и время).​ аргумента начальная_дата помещена​

​ между начальной и конечной​

​ високосный год (366​ за тем, чтобы​ дней в количество​

​ количество дней прошедших​

​ «&РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»md»)&» дн.»​»d»​

​ -​

​СЕГОДНЯ​Вычисляет количество дней между​

​ учета месяцев и​

​ зависит от версии​ конечной даты)​

​ например, для подсчета​

​Формула =РАЗНДАТ(A2;B2;»y») вернет количество​Примечание​

​ в ячейке​

​ датами. Этот аргумент​ дней) и 1​ начальная дата была​

​ лет. Для этого​

​ от 01.01.1900. На​HoBU4OK​в полных днях​DATEDIF​Возвращает текущую дату в​

​ двумя датами на​

​ лет:​ EXCEL.​Пример3:​ сколько полных дней,​ полных лет между​

​: Если интересуют только​
Excel 2010

​А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​

  1. ​Т.е. при желании подсчитать​ можно только в​Возвращает дату в числовом​ на заданное число​
  2. ​ от условия задачи.​ Так ли это​Результат – 143 дня!​
  3. ​С7​ Полный возраст или​

Формулы с датами.

​1 (месяц)​Этот пример показыват, что​»md»​Скачать примеры вычисления даты​ – способ ввода,​ что 1 сутки​ примера сначала выполним​ и 2005 гг.​ и вывести, например,​ полной версии англоязычной​ формате, отстоящую вперед​ месяцев.​Чтобы просмотреть более подробные​

​ на самом деле?​

Вычисление возраста по дате рождения в Excel

​ Больше чем дней​должна содержаться разница​ стаж.​

  1. ​Пример2:​ при подсчете стажа​разница в днях без​ в Excel​
  2. ​ а в столбце​ = 0,0027397260273973 года,​
  3. ​ сложение, а потом​ была 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

​ суток.​

В excel нет функции разндат

СИНТАКСИС:
=РАЗНДАТ( нач_дата ; кон_дата ; код )

АРГУМЕНТЫ:
1. нач_дата — начальная дата.
2. кон_дата — конечная дата .
3. код — текстовое значение, которое указывает в каких единицах необходимо вернуть разницу дат.

Список допустимых значений аргумента:

ОГРАНИЧЕНИЯ:
Если аргумент кон_дата соответствует более ранней дате чем аргумент нач_дата функция вернёт значение ошибки #ЧИСЛО .
Если какой-либо из аргументов нач_дата или кон_дата не являются допустимой датой, то функция вернёт значение ошибки #ЗНАЧ.

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:


ФОРМУЛЫ МАССИВА:
Функция работает в формулах массива

ЭТОГО НЕТ В ОФИЦИАЛЬНОЙ СПРАВКЕ EXCEL:
Собственно говоря, самой функции РАЗНДАТ нет в справке Excel. Более того нет её и в мастере функций. И при наборе вручную первых букв названия функции Excel тоже не покажет подсказку в выпадающем списке. Объясняется это довольно просто. Эта функция изначально не является функцией Excel. Она всего лишь поддерживается Excel для совместимости с другими системами электронных таблиц. В Excel эта функция попала из э лектронных таблиц Lotus 1-2-3.

Пример функции РАЗНДАТ для расчета времени между датами в Excel

Функция РАЗНДАТ позволяет выяснить, сколько полных дней, месяцев или лет прошло между двумя указанными датами. Таким образом можно легко посчитать в Excel: возраст от даты рождения, трудовой стаж, сроки беременности и др. Примеры расчетов точных сроков, возрастов и продолжительности до окончания периодов времени с помощью функции РАЗНДАТ. Как правильно считать разницу между двумя датами при 365 и 366 днях в году?

Примеры использования функции РАЗНДАТ

Пример 1. Требуется вычислить, зная дату рождения работника, сколько полных лет, месяцев и дней ему исполнилось на момент сегодняшней даты.

Используя в качестве аргументов саму дату рождения и функцию СЕГОДНЯ(), а также значения «Y», «M» и «D» для единицы, получим следующий набор формул:

Таким образом мы получили точный возраст в годах, месяцах и днях от даты рождения.

Как точно посчитать сколько прошло времени: лет, месяцев и дней?

Пример 2. В документе записаны даты рождения сотрудников. Требуется выяснить, сколько лет, месяцев и дней исполнилось каждому из них на момент сегодняшнего дня.

Используя уже знакомую формулу =РАЗНДАТ(B2;СЕГОДНЯ();»Y») для ячейки С2 получим количество полных лет возраста каждого из работников. Протянем эту формулу на весь столбец ниже.

Модифицировав формулу, использованную выше, заменяем значение единицы с «Y» на «YM». Итоговый вид формулы: =РАЗНДАТ(B2;СЕГОДНЯ();»YM»). Таким образом, мы получим на выходе количество полных месяцев возраста, не учитывая прошедшие полные года. Протянем формулу на весь столбец ниже.

В конце нам понадобятся и дни, не вошедшие в месяц. Снова заменяем значение единицы с «YM» на «YD» и получим формулу следующего вида, в которой на выходе будет число дней: =РАЗНДАТ(B2;СЕГОДНЯ();»YD»).

Такое решение можно элегантно улучшить, если использовать функцию СПЕЦПИТЬ() и вызвать окошко аргументов, приведя функцию в следующий вид: =СЦЕПИТЬ(C2;» лет «;D2;» месяцев «;E2;» дня(-ей)»)

Как посчитать сроки окончания действия договора в Excel

Пример 3. В документе записаны даты заключения договоров сотрудников компании. По умолчанию договор заключается на 1 год. Требуется выяснить, сколько дней осталось до момента окончания трудового договора у каждого из сотрудников, чтобы подготовить новые экземпляры для продления договоров.

С помощью функции РАЗНДАТ определим, сколько дней прошло с момента заключения трудового договора. В новом столбце для ячейки С2 используем формулу: =РАЗНДАТ(B2;СЕГОДНЯ();»d») и протянем ее на весь столбец ниже.

Подсчитаем количество оставшихся дней до окончания трудового договора каждого из сотрудников. Для этого в новом столбце вычитаем от количества дней в году значения из столбца С, используя формулу:

Сначала мы определяем количество дней во году по дате (365 или 366) по формуле ЕСЛИ(ОСТАТ(ГОД(B2);4);365;366), а после вычитаем, чтобы узнать сколько осталось -C2.

Для удобства можно добавить еще одну колонку, в которой с помощью условий указать замечание для продления договора, если осталось меньше 10 дней до его окончания. Для ячейки E2 используем формулу:

10;»Действует»;ЕСЛИ(D2

В данной формуле используется функция ЕСЛИ с несколькими условиями. Если до конца срока больше 10-ти суток тогда формула возвращает значение «Действует», а если меньше 10-то тогда одно из условий:

  1. Если меньше 10-ти суток, но больше чем 0 – значение «Заканчивается».
  2. Если меньше чем 0, тогда «Просрочен».

Особенности использования функции РАЗНДАТ

  • — нач_дата : дата, от которой будет вестись расчет;
  • — кон_дата : дата, до которой будет вестись расчет;
  • — единица : аргумент, указывающий на величину, в которой будет производиться расчет.

Примечание: аргументы нач_дата и кон_дата могут принимать как числовое значение, так и быть результатом какого-либо вычисления, производимого вне ячеек (например, функции ДАТА(), функции СЕГОДНЯ()).

Примечание: аргумент единица может принимать одно из шести значений:

  • — «Y»: в результате подсчетов будет выведено количество полных лет между начальными аргументами;
  • — “M”: в результате подсчетов будет выведено количество полных месяцев между начальными аргументами;
  • — «D»: в результате подсчетов будет выведено количество полных дней между начальными аргументами;
  • — «MD»: в результате подсчетов будет выведено количество дней между датами, не учитывая месяца, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2018 года и 21 ноября 2018 года (что составляет 2 месяца и 20 дней) со значением “MD” будет возвращено значение 20, т.к. прошедшие 2 полных месяца не будут учтены;
  • — «YM»: в результате подсчетов будет выведено количество месяцев между датами, не учитывая года, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2010 года и 1 ноября 2018 года (что составляет 8 лет и 2 месяца) со значением “YM” будет возвращено значение 2, т.к. прошедшие 8 полных лет не будут учтены;
  • — «YD «: в результате подсчетов будет выведено количество суток между датами, не учитывая года, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2010 года и 2 сентября 2018 года (что составляет 8 лет и 1 день) со значением “YD” будет возвращено значение 1, т.к. прошедшие 8 полных лет не будут учтены.

Функция 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 для поддержки старых книг Lotus 1-2-3. В некоторых ситуациях она может выдавать неправильные результаты. Дополнительные сведения см. в разделе «Известные проблемы» в этой статье.

Дата, представляющая собой первую или начальную дату заданного периода. Даты можно вводить в виде текстовых строк в кавычках (например, «30.1.2001»), в виде порядковых номеров (например, 36921 представляет 30 января 2001 г., если используется система дат 1900) или как результаты вычисления других формул или функций (например ДАТАЗНАЧ(«30.1.2001»)).

Дата окончания периода.

Тип возвращаемых данных, где:

Количество полных лет в периоде.

Количество полных месяцев в периоде.

Количество дней в периоде.

Разница в днях между начальной и конечной датой. Месяцы и годы дат не учитываются.

Важно: Не рекомендуется использовать аргумент «MD», так как с ним связаны определенные ограничения. См. раздел «Известные проблемы» ниже.

Разница в месяцах между начальной и конечной датой. Дни и годы дат не учитываются.

Разница в днях между начальной и конечной датой. Годы дат не учитываются.

Даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 447 дней.

Функция РАЗНДАТ полезна в формулах расчета возраста.

Tart_date sбольше, чемnd_datee, результат будет #NUM!.

Два полных года в периоде (2).

440 дней между 1 июня 2001 г. и 15 августа 2002 г. (440)

75 дней между 1 июня и 15 августа без учета годов дат (75)

Известные проблемы

При использовании аргумента «MD» результатом может быть отрицательное число, нуль или неверное значение. Если вы пытаетесь вычислить оставшиеся дни после последнего полного месяца, вот как можно это сделать:

Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Вопрос по Excel

Помогите сделать формулу в Excel для вычисления стажа роботы такого вида :

[ссылка появится после проверки модератором] (закинул на радикал)

Если ссылку не закинут то таблица такого рода.

_________А__________|__B__|
| Дата приема на роботу | Стаж |
___________________________
|______ **.**.****______ | __?__ |

надо формулу для «стажа» чтобы почитало время от приема до сегодняшнего дня.

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

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

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

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

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

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

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

=DATEDIF(A1,A2,»y») & » y. » & DATEDIF(A1A2,»ym») & » m. » & DATEDIF(A1,A2,»md») & » d.»

Понравилась статья? Поделить с друзьями:
  • Нет функции разндат excel 2010
  • Нет функции послед excel
  • Нет функции норма в excel
  • Нет функции интерполяция excel
  • Нет функции еслимн excel 2019