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

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

Функция Date

Date – это функция, которая возвращает значение текущей системной даты. Тип возвращаемого значения – Variant/Date.

Синтаксис

Пример

SubPrimerDate()

    MsgBox“Сегодня: “&Date

EndSub

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

Разность дат в Microsoft Excel

​Смотрите также​ конечно, последний -​ который поддерживает данная​ между датами. Например,​ которой будет вестись​ год. Требуется выяснить,​ даты.​ то функция вернет​ будет возникать погрешность​ результат в виде​ Excel».​ здесь.​

​ из конечной даты​Как видим, программа Excel​

Расчет количества дней

​ есть, исключая выходные​ датах можно также​ отформатированного диапазона даты,​Для выполнения определенных задач​ он определяет, каким​ функция (от 1​ при вычислении разницы​ расчет;​ сколько дней осталось​Используя в качестве аргументов​ последний день месяца,​ в 1-2 дня​

  1. ​ 37 г. 0​Как посчитать количество​Обратите внимание!​ начальную для получения​ предоставляет своим пользователем​ и праздничные. Для​ применять специальную функцию​​ разность между которыми​​ в Excel нужно​ именно образом и​ и до 15).​​ между 1 сентября​​— единица: аргумент, указывающий​

    Переход в формат ячеек в Microsoft Excel

  2. ​ до момента окончания​ саму дату рождения​ т.е. 28.02.2014 (“лишние” 2​​ в меньшую сторону),​​ мес. 0 дн.,​ календарных дней с​В конце статьи​​ числа дней между​​ довольно удобный инструментарий​ этого используется функция​​РАЗНДАТ​​ нужно вычислить.​ определять, сколько дней​ в каких единицах​ Данный код определяет​ 2010 года и​ на величину, в​ трудового договора у​​ и функцию СЕГОДНЯ(),​​ дня будут отброшены);​

Форматирование как дата в Microsoft Excel

​ но часто удобство​ что не очень​ выходными, но без​ в разделе «Другие​ ними.​

Способ 1: простое вычисление

​ для расчета количества​ЧИСТРАБНИ​. Проблема в том,​Выделяем ячейку, в которой​

  1. ​ прошло между некоторыми​ будет измеряться интервал​ которые дни недели​ 2 сентября 2018​

    Даты готовы для операции в Microsoft Excel

  2. ​ которой будет производиться​ каждого из сотрудников,​ а также значения​=ДАТА(ГОД(“29.01.2015”);МЕСЯЦ(“29.01.2015”)+1;ДЕНЬ(“29.01.2015”)) вернет 02.03.2015: “лишние” 2​ применения этой функции​ красиво.​ праздников (например, отпуск),​ статьи по этой​Если один из аргументов​ дней между двумя​. В отличие от​ что в списке​​ будет выводиться результат.​​ датами. К счастью,​ между начальной и​ должны быть восприняты​ года (что составляет​ расчет.​ чтобы подготовить новые​ “Y”, “M” и​​ дня (29 и​​ перевешивает требования к​​Воспользовавшись идеями, подсказанными нашим​​ читайте в статье​ теме» есть много​ текстовый, он обрабатывается​

    Указание формата в Microsoft Excel

    ​ датами. При этом,​ предыдущего оператора, она​​ Мастера функций её​​ В ней должен​ у программы имеются​ конечной датами. Этот​ как выходные и​ 8 лет и​Примечание: аргументы нач_дата и​ экземпляры для продления​​ “D” для единицы,​​ 30 февраля) будут​​ точности. Такой подход​​ пользователем МСН, также​​ «Количество дней между​​ статей с описанием​

    Установка общего формата в Microsoft Excel

  3. ​ как ДАТАЗНАЧ(дата_как_текст) и​ если нужно рассчитать​ присутствует в списке​​ нет, поэтому придется​​ быть установлен общий​ инструменты, которые способны​ параметр может принимать​ не учитываться при​ 1 день) со​ кон_дата могут принимать​​ договоров.​​ получим следующий набор​ прибавлены к дате.​ безусловно не годится​ просклоняем месяцев/ месяца​

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

  4. ​ датами без праздников​ разных расчетов дат,​ возвращает целочисленную дату​ просто разницу в​​ Мастера функций. Синтаксис​​ вводить формулу вручную.​ формат. Последнее условие​ решить данный вопрос.​

Результат вычисления разности дат в Microsoft Excel

Способ 2: функция РАЗНДАТ

​ следующие значения:​ вычислении формулы.​ значением “YD” будет​​ как числовое значение,​​С помощью функции РАЗНДАТ​ формул:​Расчет с помощью ДАТАМЕС()​ для расчета страхового​ и дней/ дня​ в Excel» здесь.​ стажа, возраста, отпуска,​

​ вместо временного компонента.​

​ днях, то более​​ у этой функции​ Её синтаксис выглядит​ очень важно, так​ Давайте выясним, какими​”y”​В процессе введения функции​ возвращено значение 1,​ так и быть​ определим, сколько дней​

  • ​=РАЗНДАТ(B2;СЕГОДНЯ();”Y”)​
  • ​ кажется логичней, хотя​
  • ​ стажа для определения размера​
  • ​=ЕСЛИ(РАЗНДАТ(A2;B2;”y”);РАЗНДАТ(A2;B2;”y”)&” “&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(A2;B2;”y”)-11;100);9);10);”[ ЕСЛИ(РАЗНДАТ(A2;B2;”ym”);РАЗНДАТ(A2;B2;”ym”)&” меся”&ТЕКСТ(ОСТАТ(РАЗНДАТ(A2;B2;”ym”)-1;​Как посчитать остаток​
  • ​ времени, как определить​Если аргументы — это​ оптимальным вариантом будет​
  • ​ следующий:​ следующим образом:​ как, если в​

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

​=РАЗНДАТ(B2;СЕГОДНЯ();”M”)​ функция РАЗНДАТ() с​ пособий по временной​ 11);”[ ЕСЛИ(РАЗНДАТ(A2;B2;”md”);РАЗНДАТ(A2;B2;”md”)&” д”&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(A2;B2;”md”)-11;100);9);​ дней в определенном​ день недели по​ числовые значения, выходящие​ применение простой формулы​=ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники])​=РАЗНДАТ(начальная_дата;конечная_дата;единица)​ этой ячейке стоит​ разность дат в​

  1. ​”m”​ или в строку​ полных лет не​ производимого вне ячеек​ заключения трудового договора.​=РАЗНДАТ(B2;СЕГОДНЯ();”D”)​

    Функция РАЗНДАТ в Microsoft Excel

  2. ​ этим не согласна:​ нетрудоспособности (об этом​​ 10);”[​​ периоде, например, остаток​ дате, т.д.​ за допустимый диапазон,​ вычитания, а не​В этой функции основные​«Единица»​

Результат функции РАЗНДАТ в Microsoft Excel

Способ 3: вычисление количеств рабочих дней

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

​ использование функции​

​ аргументы, такие же,​— это формат,​ в таком случае​Скачать последнюю версию​​”d”​​ заполнения третьего аргумента​Очень часто во время​ функции СЕГОДНЯ()).​ для ячейки С2​​ точный возраст в​​ заданной она возвращает​

​ (трудового) стажа в​ так: 37 лет​ смотрите в статье​количество воскресений между датами​ значение ошибки “#ЧИСЛО!”.​РАЗНДАТ​ как и у​ в котором в​ и результат будет​ Excel​в полных днях​​ появится подсказка значения​​ сведения количества дней,​

  1. ​Примечание: аргумент единица может​ используем формулу: =РАЗНДАТ(B2;СЕГОДНЯ();”d”)​ годах, месяцах и​ только для варианта​​ MS EXCEL).​​ 1 месяц 4​

    Переход в Мастер функций в Microsoft Excel

  2. ​ “Посчитать остаток дней​ в​​Если аргументы — это​​. А вот если​​ оператора​​ выделенную ячейку будет​​ иметь вид​​Прежде, чем начать работать​”yd”​​ кодов 1-15. Как​​ которые прошли от​

    Переход к аргументам функции ЧИСТОРАБДНИ в Microsoft Excel

  3. ​ принимать одно из​ и протянем ее​ днях от даты​ с функцией ДАТА().​Теперь решим обратную задачу:​ дня.​ в периоде в​Excel​​ строковые значения, которые​​ требуется, например, подсчитать​

Аргументы функции ЧИСТОРАБДНИ в Microsoft Excel

​РАЗНДАТ​ выводиться результат. От​«дд.мм.гг»​ с датами, нужно​разница в днях с​

Результат функции ЧИСТОРАБДНИ в Microsoft Excel

​ показано ниже на​​ начальной даты до​

​ шести значений:​ на весь столбец​ рождения.​Расчетная начальная дата в​ задав количество количество​Формулы этой статьи НЕ​ Excel”.​. Сделаем такую таблицу.​ нельзя обработать как​ количество рабочих дней,​– начальная и​ того, какой символ​или другой, соответствующий​​ отформатировать ячейки под​​ начала года без​ рисунке:​ конечной, не нужно​— “Y”: в результате​ ниже.​​​​ обоих случаях не​ лет, месяцев и​ позволяют правильно вычислить​Определим, сколько лет, месяцев​День недели ставим числом​ допустимые даты, функция​

​ то тут на​

lumpics.ru>

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

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

Пример 1.

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

=РАЗНДАТ(B2;СЕГОДНЯ();”Y”)

=РАЗНДАТ(B2;СЕГОДНЯ();”M”)

=РАЗНДАТ(B2;СЕГОДНЯ();”D”)

РАЗНДАТ.

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

Функция DateAdd

DateAdd – это функция, которая возвращает результат прибавления к дате указанного интервала времени. Тип возвращаемого значения – Variant/Date.

Синтаксис

DateAdd(interval,number,date)

Параметры

Параметр Описание
interval Обязательный параметр. Строковое выражение из спецсимволов, представляющее интервал времени, который требуется добавить.
number Обязательный параметр. Числовое выражение, задающее количество интервалов, которые необходимо добавить. Может быть как положительным (возвращается будущая дата), так и отрицательным (возвращается предыдущая дата).
date Обязательный параметр. Значение типа Variant/Date или литерал, представляющий дату, к которой должен быть добавлен интервал.

Таблицу аргументов (значений) параметра interval смотрите в параграфе «Приложение 1».

Примечание к таблице аргументов: три символа – y, d, w – указывают функции DateAdd на один день, который необходимо прибавить к исходной дате number раз.

Пример

SubPrimerDateAdd()

    MsgBox“31.01.2021 + 1 месяц = “&DateAdd(“m”,1,“31.01.2021”)‘Результат: 28.02.2021

    MsgBox“Сегодня + 3 года = “&DateAdd(“yyyy”,3,Date)

    MsgBox“Сегодня – 2 недели = “&DateAdd(“ww”,2,Date)

    MsgBox“10:22:14 + 10 минут = “&DateAdd(“n”,10,“10:22:14”)‘Результат: 10:32:14

EndSub

Функция DateDiff

DateDiff – это функция, которая возвращает количество указанных интервалов времени между двумя датами. Тип возвращаемого значения – Variant/Long.

Синтаксис

DateDiff(interval,date1,date2,[firstdayofweek],[firstweekofyear])

Параметры

Параметр Описание
interval Обязательный параметр. Строковое выражение из спецсимволов, представляющее интервал времени, количество которых (интервалов) требуется вычислить между двумя датами.
date1, date2 Обязательные параметры. Значения типа Variant/Date, представляющие две даты, между которыми вычисляется количество указанных интервалов.
firstdayofweek Необязательный параметр. Константа, задающая первый день недели. По умолчанию – воскресенье.
firstweekofyear Необязательный параметр. Константа, задающая первую неделю года. По умолчанию – неделя, в которую входит 1 января.

Таблицу аргументов (значений) параметра interval смотрите в параграфе «Приложение 1».

Примечание к таблице аргументов: в отличие от функции DateAdd, в функции DateDiff спецсимвол “w”, как и “ww”, обозначает неделю. Но расчет осуществляется по разному. Подробнее об этом на сайте разработчиков.

Параметры firstdayofweek и firstweekofyear определяют правила расчета количества недель между датами.

Таблицы констант из коллекций firstdayofweek и firstweekofyear смотрите в параграфах «Приложение 2» и «Приложение 3».

Пример

SubPrimerDateDiff()

‘Даже если между датами соседних лет разница 1 день,

‘DateDiff с интервалом “y” покажет разницу – 1 год

    MsgBox DateDiff(“y”,“31.12.2020”,“01.01.2021”)‘Результат: 1 год

    MsgBox DateDiff(“d”,“31.12.2020”,“01.01.2021”)‘Результат: 1 день

    MsgBox DateDiff(“n”,“31.12.2020”,“01.01.2021”)‘Результат: 1440 минут

    MsgBox“Полных лет с начала века = “&DateDiff(“y”,“2000”,Year(Now)1)

EndSub

DateAdd

Функция, которая возвращает дату, к которой был добавлен указанный временной интервал.

Синтаксис

DateAdd(interval,number,date)

Параметр/Описание

  • Интервал – требуемый параметр. Он может принимать следующие значения.
  • d – день года
  • м – месяц года
  • y – год года
  • yyyy – year
  • w – день недели
  • ww – неделя
  • q – квартал
  • час – час
  • м – минута
  • s – секунда
  • Номер – требуемый параметр. Он может принимать как положительные, так и отрицательные параметры.
  • Дата – требуемый параметр. Вариант или литерал, представляющий дату добавления интервала.

пример

Sub Constant_demo_Click() ‘ Positive Interal date1 = 1 – Jan – 2013 MsgBox (“Line 1 : ” & DateAdd(“yyyy”, 1, date1)) MsgBox (“Line 2 : ” & DateAdd(“q”, 1, date1)) MsgBox (“Line 3 : ” & DateAdd(“m”, 1, date1)) MsgBox (“Line 4 : ” & DateAdd(“y”, 1, date1)) MsgBox (“Line 5 : ” & DateAdd(“d”, 1, date1)) MsgBox (“Line 6 : ” & DateAdd(“w”, 1, date1)) MsgBox (“Line 7 : ” & DateAdd(“ww”, 1, date1)) MsgBox (“Line 8 : ” & DateAdd(“h”, 1, “01-Янв-2013 12:00:00”)) MsgBox (“Line 9 : ” & DateAdd(“n”, 1, “01-Янв-2013 12:00:00”)) MsgBox (“Line 10 : ” & DateAdd(“s”, 1, “01-Янв-2013 12:00:00”)) ‘ Negative Interval MsgBox (“Line 11 : ” & DateAdd(“yyyy”, -1, date1)) MsgBox (“Line 12 : ” & DateAdd(“q”, -1, date1)) MsgBox (“Line 13 : ” & DateAdd(“m”, -1, date1)) MsgBox (“Line 14 : ” & DateAdd(“y”, -1, date1)) MsgBox (“Line 15 : ” & DateAdd(“d”, -1, date1)) MsgBox (“Line 16 : ” & DateAdd(“w”, -1, date1)) MsgBox (“Line 17 : ” & DateAdd(“ww”, -1, date1)) MsgBox (“Line 18 : ” & DateAdd(“h”, -1, “01-Янв-2013 12:00:00”)) MsgBox (“Line 19 : ” & DateAdd(“n”, -1, “01-Янв-2013 12:00:00”)) MsgBox (“Line 20 : ” & DateAdd(“s”, -1, “01-Янв-2013 12:00:00”))End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : 27/06/1895
Line 2 : 27/09/1894
Line 3 : 27/07/1894
Line 4 : 28/06/1894
Line 5 : 28/06/1894
Line 6 : 28/06/1894
Line 7 : 4/07/1894
Line 8 : 1/01/2013 1:00:00 PM
Line 9 : 1/01/2013 12:01:00 PM
Line 10 : 1/01/2013 12:00:01 PM
Line 11 : 27/06/1893
Line 12 : 27/03/1894
Line 13 : 27/05/1894
Line 14 : 26/06/1894
Line 15 : 26/06/1894
Line 16 : 26/06/1894
Line 17 : 20/06/1894
Line 18 : 1/01/2013 11:00:00 AM
Line 19 : 1/01/2013 11:59:00 AM
Line 20 : 1/01/2013 11:59:59 AM

Функция, которая возвращает дату, к которой был добавлен указанный временной интервал.

См. также

  • Функции (Visual Basic для приложений)

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...