Перейти к содержимому

Функции даты и времени

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

  • Дата, например 8 апреля 2024 г.
  • Время, например 2:30 PM
  • Дата со временем, например 8 апреля 2024 г. 2:30 PM
  • Длительность, например 6 months 15 days 1h30m12s

В формулах:

  • Даты создаются с помощью ДАТА() (например, ДАТА(2024; 4; 8))
  • Время создаётся с помощью ВРЕМЯ() (например, ВРЕМЯ(14; 30; 0))
  • Дата со временем создаётся сложением даты и времени (например, ДАТА(2024; 4; 8) + ВРЕМЯ(14; 30; 0))
  • Длительности создаются с помощью DURATION.YMD(), DURATION.HMS() или их сложением (например, DURATION.YMD(0; 6; 15) + DURATION.HMS(1; 30; 12))

Даты, время и даты со временем можно вводить в ячейку в указанных выше форматах или в других (например, YYYY-MM-DD). Длительности можно вводить в полной форме (например, 1 hour, 30 minutes, 12 seconds) или в краткой (например, 1h30m12s). Длительности поддерживают следующие единицы:

  • Годы, записываются как y, yr, year, yrs или years
  • Месяцы, записываются как mo, mon, month или months
  • Недели, записываются как w, week или weeks
  • Дни, записываются как d, day или days
  • Часы, записываются как h, hr, hour, hrs или hours
  • Минуты, записываются как m, min, minute, mins или minutes
  • Секунды, записываются как s, sec, second, secs или seconds
  • Миллисекунды, записываются как ms, millisec, millisecond или milliseconds
  • Микросекунды, записываются как us, µs, microsec, microsecond или microseconds
  • Наносекунды, записываются как ns, nanosec, nanosecond или nanoseconds
  • Пикосекунды, записываются как ps, picosec, picosecond или picoseconds
  • Фемтосекунды, записываются как fs, femtosec, femtosecond или femtoseconds
  • Аттосекунды, записываются как as, attosec, attosecond или attoseconds

Годы и месяцы автоматически преобразуются между собой (1 год = 12 месяцев), как и любые единицы меньше месяца; месяцы в дни не преобразуются, поскольку месяцы имеют разную длину.

В формулах:

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

Для совместимости с другими табличными приложениями вычитание двух дней даёт число дней. Его можно преобразовать в длительность с помощью DURATION.YMD().

ТДАТА (NOW)

ТДАТА()

Возвращает текущую локальную дату и время.

Зависит от настроек времени компьютера, на котором выполняется формула, и может зависеть от часового пояса.

Примеры

ФормулаРезультат
ТДАТА()

СЕГОДНЯ (TODAY)

СЕГОДНЯ()

Возвращает текущую локальную дату.

Зависит от настроек времени компьютера, на котором выполняется формула, и может зависеть от часового пояса.

Примеры

ФормулаРезультат
СЕГОДНЯ()

ДАТА (DATE)

ДАТА(год; месяц; день)

Возвращает конкретную дату из аргументов год, месяц и день.

год, месяц и день должны быть числами и округляются до ближайшего целого.

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

Если месяц выходит за пределы диапазона от 1 до 12 (включительно), происходит переполнение со смещением год.

Обратите внимание, что 29 февраля 1900 года не существует.

Чтобы получить дату со временем, просто сложите дату и время. Например, ДАТА(1965; 3; 18) + ВРЕМЯ(8; 34; 51) — это секунда (в UTC), когда Алексей Леонов начал первый в истории выход в открытый космос.

Аргументы

АргументТипОбязательный
годЧислоДа
месяцЧислоДа
деньЧислоДа

Примеры

ФормулаРезультат
ДАТА(2024; 04; 08)2024-04-08
ДАТА(1995; 12; 25)1995-12-25
ДАТА(1965; 3; 18)1965-03-18

ВРЕМЯ (TIME)

ВРЕМЯ(час; минута; секунда)

Возвращает конкретное время из аргументов час, минута и секунда.

час, минута и секунда должны быть числами. час и минута округляются до ближайшего целого, а секунда может иметь дробную часть.

Если секунда выходит за пределы диапазона от 0 до 59 включительно, значение делится на 60. Остаток используется как секунда, а частное добавляется к минута.

Аналогично, если минута выходит за пределы диапазона от 0 до 59 включительно, значение делится на 60. Остаток используется как минута, а частное добавляется к час.

Если час выходит за пределы диапазона от 0 до 23, значение делится на 24. Частное отбрасывается, а остаток используется как час.

Чтобы получить дату со временем, просто сложите дату и время. Например, ДАТА(1969; 7; 21) + ВРЕМЯ(2; 56; 0) — это минута (в UTC), когда Нил Армстронг стал первым человеком, ступившим на поверхность Луны.

Аргументы

АргументТипОбязательный
часЧислоДа
минутаЧислоДа
секундаЧислоДа

Примеры

ФормулаРезультат
ВРЕМЯ(8; 34; 51)08:34:51
ВРЕМЯ(2; 56; 0)02:56:00
ВРЕМЯ(2;30;59,99)02:30:59.990

DURATION.YMD

DURATION.YMD(годы; месяцы; кол_дней)

Возвращает длительность из годы, месяцы и кол_дней.

годы, месяцы и кол_дней должны быть числами. годы и месяцы округляются до ближайшего целого, а кол_дней может иметь дробную часть.

Месяцы и годы объединяются, а дни — нет.

Чтобы создать длительность больше одного дня, просто создайте другую длительность с помощью DURATION.YMD и сложите её с этой.

Аргументы

АргументТипОбязательный
годыЧислоДа
месяцыЧислоДа
кол_днейЧислоДа

Примеры

ФормулаРезультат
DURATION.YMD(0; 0; 60)60d
DURATION.YMD(-5; 0; 0)-5y
DURATION.YMD(1; 6; 0)1y 6mo

DURATION.HMS

DURATION.HMS(часы; минуты; секунды)

Возвращает длительность из часы, минуты и секунды.

часы, минуты и секунды должны быть числами. часы и минуты округляются до ближайшего целого, а секунды может иметь дробную часть.

Секунды, минуты и часы объединяются.

Чтобы создать длительность больше одного дня, просто создайте другую длительность с помощью DURATION.YMD и сложите её с этой.

Аргументы

АргументТипОбязательный
часыЧислоДа
минутыЧислоДа
секундыЧислоДа

Примеры

ФормулаРезультат
DURATION.HMS(0; 2; 30)2m 30s
DURATION.HMS(6; 0; 0)6h
DURATION.HMS(24; 0; 0)1d

ГОД (YEAR)

ГОД(дата)

Возвращает компонент года из даты или длительности.

  • Компонент года даты или даты со временем обычно находится между 1900 и 2100.
  • Компонент года времени всегда равен 0.
  • Компонент года длительности округляется вниз и может быть отрицательным. Например, компонент года 1y 4mo равен 1, а компонент года -1y -4mo равен -2.
  • Компонент года числа дней не определён, поэтому возвращается ошибка.

Аргументы

АргументТипОбязательный
датаДата/времяДа

Примеры

ФормулаРезультат
ГОД(ДАТА(2024; 4; 8))2024
ГОД(ВРЕМЯ(30; 16; 45))0
ГОД(DURATION.HMS(6; 10; 15))0
ГОД(DURATION.YMD(1; 2; 3))1
ГОД(DURATION.YMD(-1; -2; 3))-2
ГОД(DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))1
ГОД(DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))1
ГОД(-DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))-2
ГОД(-DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))-2

МЕСЯЦ (MONTH)

МЕСЯЦ(дата)

Возвращает компонент месяца из даты или длительности.

  • Компонент месяца даты или даты со временем всегда находится между 1 и 12 (включительно).
  • Компонент месяца времени всегда равен 0.
  • Компонент месяца длительности всегда находится между 0 и 11, даже если длительность отрицательная. Например, компонент месяца 1y 4mo равен 4, а компонент месяца -1y -4mo равен 8.
  • Компонент месяца числа дней не определён, поэтому возвращается ошибка.

Аргументы

АргументТипОбязательный
датаДата/времяДа

Примеры

ФормулаРезультат
МЕСЯЦ(ДАТА(2024; 4; 8))4
МЕСЯЦ(ВРЕМЯ(30; 16; 45))0
МЕСЯЦ(DURATION.HMS(6; 10; 15))0
МЕСЯЦ(DURATION.YMD(1; 2; 3))2
МЕСЯЦ(DURATION.YMD(-1; -2; 3))10
МЕСЯЦ(DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))2
МЕСЯЦ(DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))2
МЕСЯЦ(-DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))10
МЕСЯЦ(-DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))10

ДЕНЬ (DAY)

ДЕНЬ(дата)

Возвращает компонент дня из даты или длительности.

  • Компонент дня даты или даты со временем всегда находится между 1 и 31 (включительно).
  • Компонент дня времени всегда равен 0.
  • Компонент дня длительности округляется вниз и может быть отрицательным.
  • Компонент дня числа дней равен его целой части при округлении вниз.

Аргументы

АргументТипОбязательный
датаДата/времяДа

Примеры

ФормулаРезультат
ДЕНЬ(ДАТА(2024; 4; 8))8
ДЕНЬ(ВРЕМЯ(30; 16; 45))0
ДЕНЬ(DURATION.HMS(6; 10; 15))0
ДЕНЬ(DURATION.YMD(1; 2; 3))3
ДЕНЬ(DURATION.YMD(-1; -2; 3))3
ДЕНЬ(DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))3
ДЕНЬ(DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))2
ДЕНЬ(-DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))-3
ДЕНЬ(-DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))-4

ЧАС (HOUR)

ЧАС(время)

Возвращает компонент часа из времени или длительности.

  • Компонент часа даты всегда равен нулю.
  • Компонент часа времени или даты со временем всегда находится между 0 и 23 (включительно).
  • Компонент часа длительности всегда находится между 0 и 23 (включительно), даже если длительность отрицательная.
  • Компонент часа числа дней равен его дробной части, умноженной на 24 и округлённой вниз. Всегда находится между 0 и 23 (включительно), даже если исходное число отрицательное.

Аргументы

АргументТипОбязательный
времяДата/времяДа

Примеры

ФормулаРезультат
ЧАС(ВРЕМЯ(30; 16; 45))6
ЧАС(ВРЕМЯ(30; 0; -1))5
ЧАС(ВРЕМЯ(0; 0; 0))0
ЧАС(ВРЕМЯ(0; 0; -1))23
ЧАС(789,084)2
ЧАС(-789,084)21
ЧАС(DURATION.HMS(6; 10; 15))6
ЧАС(DURATION.YMD(1; 2; 3))0
ЧАС(DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))6
ЧАС(DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))17
ЧАС(-DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))6
ЧАС(-DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))17

МИНУТЫ (MINUTE)

МИНУТЫ(время)

Возвращает компонент минуты из времени или длительности.

  • Компонент минуты даты всегда равен нулю.
  • Компонент минуты времени или даты со временем всегда находится между 0 и 59 (включительно).
  • Компонент минуты длительности всегда находится между 0 и 59 (включительно), даже если длительность отрицательная.
  • Компонент минуты числа дней равен его дробной части, умноженной на 1440 и округлённой вниз. Всегда находится между 0 и 59 (включительно), даже если исходное число отрицательное.

Аргументы

АргументТипОбязательный
времяДата/времяДа

Примеры

ФормулаРезультат
МИНУТЫ(ВРЕМЯ(30; 16; 45))16
МИНУТЫ(ВРЕМЯ(30; 0; -1))59
МИНУТЫ(ВРЕМЯ(0; 0; 0))0
МИНУТЫ(ВРЕМЯ(0; 0; -1))59
МИНУТЫ(789,001389)2
МИНУТЫ(-789,001389)57
МИНУТЫ(DURATION.HMS(6; 10; 15))10
МИНУТЫ(DURATION.YMD(1; 2; 3))0
МИНУТЫ(DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))10
МИНУТЫ(DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))49
МИНУТЫ(-DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))10
МИНУТЫ(-DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))49

СЕКУНДЫ (SECOND)

СЕКУНДЫ(время)

Возвращает компонент секунды из времени или длительности.

  • Компонент секунды даты всегда равен нулю.
  • Компонент секунды времени или даты со временем всегда находится между 0 и 59 (включительно).
  • Компонент секунды длительности всегда находится между 0 и 59 (включительно), даже если длительность отрицательная.
  • Компонент секунды числа дней равен его дробной части, умноженной на 86400 и округлённой вниз. Всегда находится между 0 и 59 (включительно), даже если исходное число отрицательное.

Аргументы

АргументТипОбязательный
времяДата/времяДа

Примеры

ФормулаРезультат
СЕКУНДЫ(ВРЕМЯ(30; 16; 45))45
СЕКУНДЫ(ВРЕМЯ(30; 0; -1))59
СЕКУНДЫ(ВРЕМЯ(0; 0; 0))0
СЕКУНДЫ(ВРЕМЯ(0; 0; -1))59
СЕКУНДЫ(0,5557291667)15
СЕКУНДЫ(-0,5557291667)44
СЕКУНДЫ(DURATION.HMS(6; 10; 15))15
СЕКУНДЫ(DURATION.YMD(1; 2; 3))0
СЕКУНДЫ(DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))15
СЕКУНДЫ(DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))45
СЕКУНДЫ(-DURATION.YMD(1; 2; 3) + DURATION.HMS(6; 10; 15))15
СЕКУНДЫ(-DURATION.YMD(1; 2; 3) - DURATION.HMS(6; 10; 15))45

EPOCHTODATE

EPOCHTODATE(метка_времени; [единица])

Преобразует Unix-метку времени (epoch) в дату-время в UTC.

  • метка_времени: число (целое или дробное) — количество единиц с 01.01.1970 00:00:00 UTC.
  • единица: единица измерения. По умолчанию — 2 (миллисекунды, как в Google Sheets и большинстве веб-API):
    • 1 — секунды
    • 2 — миллисекунды
    • 3 — микросекунды

Аргументы

АргументТипОбязательный
метка_времениДата/времяДа
единицаЧислоНет

Примеры

ФормулаРезультат
EPOCHTODATE(1735689600; 1)2025-01-01 00:00:00
EPOCHTODATE(1735689600000)2025-01-01 00:00:00
EPOCHTODATE(1735689600000000; 3)2025-01-01 00:00:00

ДАТАМЕС (EDATE)

ДАТАМЕС(начальная_дата; смещение_месяцев)

Добавляет к дате указанное количество месяцев.

Если дата выходит за пределы месяца, возвращается последний день месяца.

Аргументы

АргументТипОбязательный
начальная_датаДата/времяДа
смещение_месяцевЧислоДа

Примеры

ФормулаРезультат
ДАТАМЕС(ДАТА(2024; 04; 08); 8)2024-12-08

КОНМЕСЯЦА (EOMONTH)

КОНМЕСЯЦА(начальная_дата; [смещение_месяцев])

Возвращает последний день месяца, отстоящего от начальная_дата на смещение_месяцев месяцев.

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

Аргументы

АргументТипОбязательный
начальная_датаДата/времяДа
смещение_месяцевЧислоНет

Примеры

ФормулаРезультат
КОНМЕСЯЦА(ДАТА(2024; 04; 08))2024-04-30
КОНМЕСЯЦА(ДАТА(2024; 04; 08); 8)2024-12-31

РАЗНДАТ (DATEDIF)

РАЗНДАТ(начальная_дата; конечная_дата; единица)

Вычисляет разницу между двумя датами в различных единицах.

единица задаёт тип вычисляемой разницы:

  • "Y" — полные годы между датами
  • "M" — полные месяцы между датами
  • "D" — дни между датами
  • "MD" — дни между датами без учёта месяцев и годов
  • "YM" — месяцы между датами без учёта годов
  • "YD" — дни между датами без учёта годов

Примечание: начальная_дата должна быть меньше или равна конечная_дата.

Аргументы

АргументТипОбязательный
начальная_датаДата/времяДа
конечная_датаДата/времяДа
единицаЧислоДа

Примеры

ФормулаРезультат
РАЗНДАТ(ДАТА(2020; 1; 1); ДАТА(2024; 4; 8); "Y")4
РАЗНДАТ(ДАТА(2020; 1; 1); ДАТА(2024; 4; 8); "M")51
РАЗНДАТ(ДАТА(2020; 1; 1); ДАТА(2024; 4; 8); "D")1559

ДАТАЗНАЧ (DATEVALUE)

ДАТАЗНАЧ(текст_даты)

Преобразует дату, представленную в виде текста, в порядковый номер Excel.

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

Аргументы

АргументТипОбязательный
текст_датыДата/времяДа

Примеры

ФормулаРезультат
ДАТАЗНАЧ("2024-04-08")45390
ДАТАЗНАЧ("04/08/2024")45390
ДАТАЗНАЧ("April 8, 2024")45390

ВРЕМЗНАЧ (TIMEVALUE)

ВРЕМЗНАЧ(текст_времени)

Преобразует время, представленное в виде текста, в десятичное число.

Десятичное число — это значение от 0 до 1, представляющее время как долю суток. Например, 12:00 PM возвращает 0,5 (половина суток), а 6:00 AM возвращает 0,25 (четверть суток).

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

Аргументы

АргументТипОбязательный
текст_времениДата/времяДа

Примеры

ФормулаРезультат
ВРЕМЗНАЧ("12:00 PM")0,5
ВРЕМЗНАЧ("06:00:00")0,25
ВРЕМЗНАЧ("2:30:45 PM")0,6046875

ДНИ (DAYS)

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

Возвращает количество дней между двумя датами.

Результат положителен, если конечная_дата позже начальная_дата, отрицателен, если конечная_дата раньше начальная_дата, и равен нулю, если даты совпадают.

Аргументы

АргументТипОбязательный
конечная_датаДата/времяДа
начальная_датаДата/времяДа

Примеры

ФормулаРезультат
ДНИ(ДАТА(2024; 4; 8); ДАТА(2024; 1; 1))98
ДНИ("2024-12-31"; "2024-01-01")365

ДНЕЙ360 (DAYS360)

ДНЕЙ360(начальная_дата; конечная_дата; [метод])

Возвращает количество дней между двумя датами на основе года из 360 дней (двенадцать месяцев по 30 дней).

Обычно используется в бухгалтерских и финансовых расчётах.

Если метод равен FALSE или опущен, используется американский метод (NASD):

  • Если начальный день равен 31, он становится 30
  • Если конечный день равен 31, а начальный день равен 30 или 31, конечный день становится 30

Если метод равен TRUE, используется европейский метод:

  • Начальный и конечный дни, равные 31, становятся 30

Аргументы

АргументТипОбязательный
начальная_датаДата/времяДа
конечная_датаДата/времяДа
методЧислоНет

Примеры

ФормулаРезультат
ДНЕЙ360(ДАТА(2024; 1; 1); ДАТА(2024; 4; 8))97
ДНЕЙ360(ДАТА(2024; 1; 1); ДАТА(2024; 4; 8); TRUE)97

НОМНЕДЕЛИ.ISO (ISOWEEKNUM)

НОМНЕДЕЛИ.ISO(дата)

Возвращает номер недели года по ISO для указанной даты.

Недели по ISO начинаются с понедельника, а первая неделя года содержит первый четверг. Номера недель находятся в диапазоне от 1 до 52 или 53.

Аргументы

АргументТипОбязательный
датаДата/времяДа

Примеры

ФормулаРезультат
НОМНЕДЕЛИ.ISO(ДАТА(2024; 1; 1))1
НОМНЕДЕЛИ.ISO(ДАТА(2024; 4; 8))15
НОМНЕДЕЛИ.ISO("2024-12-31")1

ДЕНЬНЕД (WEEKDAY)

ДЕНЬНЕД(дата; [тип_результата])

Возвращает день недели, соответствующий дате.

Параметр тип_результата управляет нумерацией:

  • 1 (по умолчанию) — 1 = воскресенье, 7 = суббота
  • 2 — 1 = понедельник, 7 = воскресенье
  • 3 — 0 = понедельник, 6 = воскресенье
  • 11 — 1 = понедельник, 7 = воскресенье
  • 12 — 1 = вторник, 7 = понедельник
  • 13 — 1 = среда, 7 = вторник
  • 14 — 1 = четверг, 7 = среда
  • 15 — 1 = пятница, 7 = четверг
  • 16 — 1 = суббота, 7 = пятница
  • 17 — 1 = воскресенье, 7 = суббота

Аргументы

АргументТипОбязательный
датаДата/времяДа
тип_результатаЧислоНет

Примеры

ФормулаРезультат
ДЕНЬНЕД(ДАТА(2024; 4; 8))2
ДЕНЬНЕД(ДАТА(2024; 4; 8); 1)2
ДЕНЬНЕД(ДАТА(2024; 4; 8); 2)1

НОМНЕДЕЛИ (WEEKNUM)

НОМНЕДЕЛИ(дата; [тип_результата])

Возвращает номер недели для указанной даты.

Параметр тип_результата управляет тем, с какого дня начинается неделя:

  • 1 (по умолчанию) — неделя начинается с воскресенья. Неделя 1 содержит 1 января.
  • 2 — неделя начинается с понедельника. Неделя 1 содержит 1 января.
  • 11 — неделя начинается с понедельника. Неделя 1 содержит 1 января.
  • 12 — неделя начинается со вторника. Неделя 1 содержит 1 января.
  • 13 — неделя начинается со среды. Неделя 1 содержит 1 января.
  • 14 — неделя начинается с четверга. Неделя 1 содержит 1 января.
  • 15 — неделя начинается с пятницы. Неделя 1 содержит 1 января.
  • 16 — неделя начинается с субботы. Неделя 1 содержит 1 января.
  • 17 — неделя начинается с воскресенья. Неделя 1 содержит 1 января.
  • 21 — номер недели по ISO (неделя начинается с понедельника, первая неделя содержит первый четверг).

Аргументы

АргументТипОбязательный
датаДата/времяДа
тип_результатаЧислоНет

Примеры

ФормулаРезультат
НОМНЕДЕЛИ(ДАТА(2024; 1; 1))1
НОМНЕДЕЛИ(ДАТА(2024; 4; 8))15
НОМНЕДЕЛИ(ДАТА(2024; 4; 8); 2)15

ЧИСТРАБДНИ (NETWORKDAYS)

ЧИСТРАБДНИ(начальная_дата; конечная_дата; [праздники])

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

Рабочие дни исключают выходные (субботу и воскресенье) и, при необходимости, указанные праздники.

Если конечная_дата раньше начальная_дата, возвращается отрицательное число.

Аргументы

АргументТипОбязательный
начальная_датаДата/времяДа
конечная_датаДата/времяДа
праздникиЛюбоеНет

Примеры

ФормулаРезультат
ЧИСТРАБДНИ(ДАТА(2024; 1; 1); ДАТА(2024; 1; 31))23
ЧИСТРАБДНИ(ДАТА(2024; 1; 1); ДАТА(2024; 1; 31); {ДАТА(2024; 1; 15)})22

ЧИСТРАБДНИ.МЕЖД (NETWORKDAYS.INTL)

ЧИСТРАБДНИ.МЕЖД(начальная_дата; конечная_дата; [выходные]; [праздники])

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

Параметр выходные может быть:

  • Числом от 1 до 7 или от 11 до 17, задающим выходные дни
  • Строкой из 7 символов, состоящей из 1 и 0 (1 = выходной, начиная с понедельника)

Значения числа выходных:

  • 1 (по умолчанию) — суббота, воскресенье
  • 2 — воскресенье, понедельник
  • 3 — понедельник, вторник
  • 4 — вторник, среда
  • 5 — среда, четверг
  • 6 — четверг, пятница
  • 7 — пятница, суббота
  • 11 — только воскресенье
  • 12 — только понедельник
  • 13 — только вторник
  • 14 — только среда
  • 15 — только четверг
  • 16 — только пятница
  • 17 — только суббота

Аргументы

АргументТипОбязательный
начальная_датаДата/времяДа
конечная_датаДата/времяДа
выходныеЛюбоеНет
праздникиЛюбоеНет

Примеры

ФормулаРезультат
ЧИСТРАБДНИ.МЕЖД(ДАТА(2024; 1; 1); ДАТА(2024; 1; 31))23
ЧИСТРАБДНИ.МЕЖД(ДАТА(2024; 1; 1); ДАТА(2024; 1; 31); 1)23
ЧИСТРАБДНИ.МЕЖД(ДАТА(2024; 1; 1); ДАТА(2024; 1; 31); "0000011")23

РАБДЕНЬ (WORKDAY)

РАБДЕНЬ(начальная_дата; кол_дней; [праздники])

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

Рабочие дни исключают выходные (субботу и воскресенье) и, при необходимости, указанные праздники.

Если кол_дней отрицательный, возвращаемая дата предшествует начальная_дата.

Аргументы

АргументТипОбязательный
начальная_датаДата/времяДа
кол_днейЧислоДа
праздникиЛюбоеНет

Примеры

ФормулаРезультат
РАБДЕНЬ(ДАТА(2024; 1; 1); 10)2024-01-15
РАБДЕНЬ(ДАТА(2024; 1; 1); -5)2023-12-25
РАБДЕНЬ(ДАТА(2024; 1; 1); 10; {ДАТА(2024; 1; 15)})2024-01-16

РАБДЕНЬ.МЕЖД (WORKDAY.INTL)

РАБДЕНЬ.МЕЖД(начальная_дата; кол_дней; [выходные]; [праздники])

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

Параметр выходные может быть:

  • Числом от 1 до 7 или от 11 до 17, задающим выходные дни
  • Строкой из 7 символов, состоящей из 1 и 0 (1 = выходной, начиная с понедельника)

Значения числа выходных см. в NETWORKDAYS.INTL.

Аргументы

АргументТипОбязательный
начальная_датаДата/времяДа
кол_днейЧислоДа
выходныеЛюбоеНет
праздникиЛюбоеНет

Примеры

ФормулаРезультат
РАБДЕНЬ.МЕЖД(ДАТА(2024; 1; 1); 10)2024-01-15
РАБДЕНЬ.МЕЖД(ДАТА(2024; 1; 1); 10; 1)2024-01-15
РАБДЕНЬ.МЕЖД(ДАТА(2024; 1; 1); 10; "0000011")2024-01-15

ДОЛЯГОДА (YEARFRAC)

ДОЛЯГОДА(начальная_дата; конечная_дата; [базис])

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

Параметр базис задаёт способ подсчёта дней:

  • 0 (по умолчанию) — американский (NASD) 30/360
  • 1 — фактические/фактические
  • 2 — фактические/360
  • 3 — фактические/365
  • 4: европейский 30/360

Аргументы

АргументТипОбязательный
начальная_датаДата/времяДа
конечная_датаДата/времяДа
базисЧислоНет

Примеры

ФормулаРезультат
ДОЛЯГОДА(ДАТА(2024; 1; 1); ДАТА(2024; 7; 1))0,5
ДОЛЯГОДА(ДАТА(2024; 1; 1); ДАТА(2024; 7; 1); 0)0,5
ДОЛЯГОДА(ДАТА(2024; 1; 1); ДАТА(2024; 7; 1); 1)0,497268
Была ли эта страница полезной?