Vba excel время больше 24 часов

Обновлено: 05.07.2024

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

Функция возвращает текущую системную дату.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

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

The Value of a : 19/07/2014

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

CDate

Функция преобразует действительное выражение даты и времени для ввода даты.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

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

The Value of a : 1/01/2020
The Value of b : 31/12/2050

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

DateAdd

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

Синтаксис

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

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

пример

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

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

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

DateDiff

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

Синтаксис

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

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

  • Интервал - требуемый параметр. Он может принимать следующие значения.
  • d - день года
  • м - месяц года
  • y - год года
  • yyyy - year
  • w - день недели
  • ww - неделя
  • q - квартал
  • час - час
  • м - минута
  • s - секунда
  • Date1 и Date2 - Необходимые параметры.
  • Firstdayofweek - необязательный параметр. Задает первый день недели. Он может принимать следующие значения.
  • 0 = vbUseSystemDayOfWeek - настройка API поддержки национальных языков (NLS)
  • 1 = vbSunday - воскресенье
  • 2 = vbMonday - понедельник
  • 3 = vbTuesday - вторник
  • 4 = vbWednesday - среда
  • 5 = vbThursday - четверг
  • 6 = vbFriday - пятница
  • 7 = vbSaturday - суббота
  • Firstdayofyear - необязательный параметр. Указывает на первый день года. Он может принимать следующие значения.
  • 0 = vbUseSystem - настройка API поддержки национальных языков (NLS)
  • 1 = vbFirstJan1 - начать с недели, в которой происходит 1 января (по умолчанию)
  • 2 = vbFirstFourDays - Начните с недели, которая имеет не менее четырех дней в новом году
  • 3 = vbFirstFullWeek - начните с первой полной недели нового года

пример

Добавьте кнопку и добавьте следующую функцию.

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

Line 1 : 1
Line 2 : 4
Line 3 : 12
Line 4 : 365
Line 5 : 365
Line 6 : 52
Line 7 : 52
Line 8 : 8783
Line 9 : 527039
Line 10 : 31622340

Функция, которая возвращает разницу между двумя периодами времени.

DatePart

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

Синтаксис

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

  • Интервал - требуемый параметр. Он может принимать следующие значения.
  • d - день года
  • м - месяц года
  • y - год года
  • yyyy - year
  • w - день недели
  • ww - неделя
  • q - квартал
  • час - час
  • м - минута
  • s - секунда
  • Date1 - обязательный параметр.
  • Firstdayofweek - необязательный параметр. Задает первый день недели. Он может принимать следующие значения.
  • 0 = vbUseSystemDayOfWeek - настройка API поддержки национальных языков (NLS)
  • 1 = vbSunday - воскресенье
  • 2 = vbMonday - понедельник
  • 3 = vbTuesday - вторник
  • 4 = vbWednesday - среда
  • 5 = vbThursday - четверг
  • 6 = vbFriday - пятница
  • 7 = vbSaturday - суббота
  • Firstdayofyear - необязательный параметр. Указывает на первый день года. Он может принимать следующие значения.
  • 0 = vbUseSystem - настройка API поддержки национальных языков (NLS)
  • 1 = vbFirstJan1 - начать с недели, в которой происходит 1 января (по умолчанию)
  • 2 = vbFirstFourDays - Начните с недели, которая имеет не менее четырех дней в новом году
  • 3 = vbFirstFullWeek - начните с первой полной недели нового года

пример

Добавьте кнопку и добавьте следующую функцию.

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

Line 1 : 1
Line 2 : 15
Line 3 : 3
Line 4 : 1

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

DateSerial

Функция, которая возвращает дату для заданных параметров дня, месяца и года.

Синтаксис

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

  • Год - требуемый параметр. Число от 100 до 9999 или числовое выражение. Значения от 0 до 99 интерпретируются как годы с 1900 по 1999 год. Для всех аргументов за другой год используйте полный четырехзначный год.
  • Месяц - требуемый параметр. Он также может быть в форме выражения, которое должно варьироваться от 1 до 12.
  • День - требуемый параметр. Он также может быть в форме выражения, которое должно варьироваться от 1 до 31.

пример

Добавьте кнопку и добавьте следующую функцию.

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

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

FormatDateTime

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

Синтаксис

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

  • Дата - требуемый параметр.
  • Формат - необязательный параметр. Значение, определяющее формат даты или времени, который будет использоваться. Он может принимать следующие значения.
  • 0 = vbGeneralDate - Default
  • 1 = vbLongDate - дата возврата
  • 2 = vbShortDate - Дата возврата
  • 3 = vbLongTime - возвращает время
  • 4 = vbShortTime - возвращает время

пример

Добавьте кнопку и добавьте следующую функцию.

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

Line 1 : 15/08/2013 8:25:00 PM
Line 2 : Thursday, 15 August 2013
Line 3 : 15/08/2013
Line 4 : 8:25:00 PM
Line 5 : 20:25

Функция, которая форматирует дату на основе поставляемых параметров.

IsDate

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

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

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

Line 1 : True
Line 2 : True
Line 3 : True

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

Функция «День» возвращает число от 1 до 31, которое представляет день указанной даты.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

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

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

Month

Функция Month возвращает число от 1 до 12, которое представляет месяц указанной даты.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

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

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

Функция Год возвращает целое число, которое представляет год указанной даты.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

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

Функция, которая возвращает целое число, которое представляет год указанной даты.

MonthName

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

Синтаксис

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

  • Месяц - требуемый параметр. Он определяет номер месяца.
  • Toabbreviate - необязательный параметр. Булевское значение, указывающее, следует ли сокращать имя месяца. Если оставить пустым, значение по умолчанию будет считаться False.

пример

Добавьте кнопку и добавьте следующую функцию.

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

Line 1 : Jan
Line 2 : January
Line 3 : Jul
Line 4 : July

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

WeekDay

Функция WeekDay возвращает целое число от 1 до 7, которое представляет день недели для указанной даты.

Синтаксис

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

Добавьте кнопку и добавьте следующую функцию.

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

Line 1: 5 Line 2: 4 Line 3: 4 Line 4: 3 Line 5: 4 Line 6: 5

Функция, которая возвращает целое число (от 1 до 7), которое представляет день недели в течение указанного дня.

WeekDayName

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

Синтаксис WeekdayName(weekday[,abbreviate[,firstdayofweek]])

  • Weekday - требуемый параметр. Номер дня недели.
  • Toabbreviate - необязательный параметр. Булевское значение, указывающее, следует ли сокращать имя месяца. Если оставить пустым, значение по умолчанию будет считаться False.
  • Firstdayofweek - необязательный параметр. Задает первый день недели.
  • 0 = vbUseSystemDayOfWeek - настройка API поддержки национальных языков (NLS)
  • 1 = vbSunday - воскресенье
  • 2 = vbMonday - понедельник
  • 3 = vbTuesday - вторник
  • 4 = vbWednesday - среда
  • 5 = vbThursday - четверг
  • 6 = vbFriday - пятница
  • 7 = vbSaturday - суббота

пример

Добавьте кнопку и добавьте следующую функцию.

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

Line 1 : Tuesday
Line 2 : Mon
Line 3 : Sunday
Line 4 : Tue
Line 5 : Sunday

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

Функция Now возвращает текущую системную дату и время.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод. The Value of a : 19/07/2013 3:04:09 PM

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

Функция Hour возвращает число от 0 до 23, которое представляет час дня для указанной отметки времени.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

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

Line 1: 15
Line 2: 23
Line 3: 14

Функция, которая возвращает целое число от 0 до 23, которое представляет часовую часть заданного времени.

Minute

Функция Minute возвращает число от 0 до 59, которое представляет минуту часа для указанной отметки времени.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

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

Line 1: 13
Line 2: 43
Line 3: 20

Функция, возвращающая целое число от 0 до 59, которое представляет минутную часть данного времени.

Second

Функция возвращает число от 0 до 59, которое представляет вторую часть часа для указанной отметки времени.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод. Line 1: 25
Line 2: 45
Line 3: 0

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

Функция времени возвращает текущее системное время.

Синтаксис

пример

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

Line 1: 3:29:15 PM

Функция, которая возвращает текущее системное время.

Timer

Функция таймера возвращает число секунд и миллисекунд с 12:00.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

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

Time is : 19/07/2013 3:45:53 PM
Timer is: 56753.4

Функция, которая возвращает число секунд и миллисекунд с 12:00.

TimeSerial

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

Синтаксис

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

  • Hour - обязательный параметр, который представляет собой целое число от 0 до 23 или любое числовое выражение.
  • Minute - обязательный параметр, который представляет собой целое число от 0 до 59 или любое числовое выражение.
  • Second - обязательный параметр, который представляет собой целое число от 0 до 59 или любое числовое выражение.

пример

Добавьте кнопку и добавьте следующую функцию.

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

8:01:02 PM
12:59:59 AM
2:20:18 PM

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

TimeValue

Функция TimeValue преобразует заданную входную строку в допустимое время.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

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

В этом разделе объясняется, как Access сохраняет тип данных Date/Time и почему вы можете получить неожиданные результаты при расчете или сравнении дат и времени.

Данные о дате и времени хранения

Доступ сохраняет тип данных Date/Time в виде двухточечных номеров с плавающей точкой (до 15 десятичных мест). Integer part of the double-precision number represents the date; десятичной части представляет время.

Допустимые значения дат варьируются от -647 434 (1 января 100 г. н.п.) до 2 958 465 (31 декабря 9999 г., г.). Значение 0 даты представляет 30 декабря 1899 г. Даты доступа к хранилищам до 30 декабря 1899 г. в качестве отрицательных номеров.

Допустимые значения времени варьируются от 0,0 (00:00:00) до 0,99999 (23:59:59). Числовая величина представляет собой часть одного дня. Числовое значение можно преобразовать в часы, минуты и секунды, умножая числовую величину на 24.

Двойное число Часть даты Фактическая дата Часть времени Фактическое время
1.0 1 31 декабря 1899 г. .0 12:00:00.
2.5 2 1 января 1900 г. .5 12:00:00
27468.96875 27468 15 марта 1975 г. .96875 11:15:00
33914.125 33914 6 ноября 1992 г.

Вычислять данные о времени

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

Следующая процедура иллюстрирует использование функции Format для формата интервалов времени. Процедура принимает два значения времени и напечатает их интервал между ними в непосредственном окне в нескольких различных форматах.

Сравнение данных о дате

Так как даты и время хранятся вместе как номера с двойной точностью, при сравнении данных Date/Time вы можете получить неожиданные результаты. Например, если введите следующее выражение в окне Immediate, вы получите результат False (0), даже если сегодняшняя дата 7/11/2006:

Функция Now возвращает двойное число, представляющее текущую дату и время. Однако функция DateValue возвращает число, представляющее дату, но не дробное значение времени. В результате теперь DateValue равен только при возвращении времени 00:00:00 (12:00:00).

Чтобы получить точные результаты при сравнении значений дат, используйте одну из следующих функций. Чтобы проверить каждую функцию, введите ее в окне Immediate, замените текущую дату на 7/11/2006 и нажмите кнопку ENTER:

Чтобы вернуть значение integer, используйте функцию Date:

Чтобы удалить дробную часть функции Now, используйте функцию Int:

Сравнение данных времени

При сравнении значений времени вы можете получить противоречивые результаты, так как значение времени хранится в качестве дробной части номера с двойной точностью с плавающей точкой. Например, если введите следующее выражение в окне Immediate, вы получите результат False (0), даже если два значения времени выглядят одинаково:

Когда Access преобразует значение времени в фракцию, рассчитанный результат может не быть точным эквивалентом значения времени. Небольшой разницы, вызываемой вычислением, достаточно для получения результата False (0), когда вы сравниваете сохраненное значение с постоянным значением.

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

Добавьте связанную дату в сравнение времени:

Перед их сравнением преобразуйте значения времени в типы данных String:

Используйте функцию DateDiff для сравнения точных единиц, например секунд:

Об участниках

Значок участника сообщества

Ссылка предоставлена сообществом UtterAccess.

UtterAccess — это премиальный вики-портал и форум, посвященный Microsoft Access.

См. также

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

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

И так, в этой по своей природе унылой публикации я кратко рассмотрю vba функции даты и времени, которые позволяют получить или установить параметры даты и времени, задать таймер выполнения заданного блока кода или сценария в целом. Также в конце статьи будет затронута функция vba языка format. Которая отвечает за форматирование данных.

vba работа с датами и временем

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

Date () – позволяет получить значение текущей даты, установленной в системе.

Time () – вернет установленное в системе время

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

DateAdd (интервал, число, дата) – позволяет прибавить к заданной дате (параметр “дата”) указанное количество лет, кварталов, месяцев или секунд. На выходе мы получим следующее значение: дата + (число * интервал).

DateDiff (интервал, дата, дата2) – позволяет получить разницу между заданными датами, например. В годах, месяцах и так далее, разница определяется параметром “интервал”.

DatePart (интервал, дата) – позволяет получить заданную часть даты, например, только значение года, месяца или дня недели. Результат возврата регулируется параметром “интервал”.

DateSerial (год, месяц, день) – данная функция vba принимает три числовые значения, по которым возвращается дата.

DateValue (строка) – аналог предыдущей функции, но тут в качестве параметра мы передаем не числа. А строковое значение, на основе которого будет возвращаться дата, vba работа с датами.

Day (дата) – позволяет получить значение текущего дня (если отсутствует параметр “дата”) или для заданной даты.

Year (дата) – позволяет получить значение текущего года (если отсутствует параметр “дата”) или для заданной даты.

Month (дата) – позволяет получить значение текущего месяца (если отсутствует параметр “дата”) или для заданной даты.

Weekday (дата) – позволяет получить значение текущей недели (если отсутствует параметр “дата”) или для заданной даты.

Hour (время) – позволяет получить текущее значение часов (если отсутствует параметр “время”) или для заданного времени, vba дата и время.

Minute (время) – позволяет получить текущее значение минут (если отсутствует параметр “время”) или для заданного времени.

Second (время) – позволяет получить текущее значение секунд (если отсутствует параметр “время”) или для заданного времени.

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

TimeSerial (часы, минуты, секунды) – позволяет получить время, заданное тремя параметрами

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

MonthName (числовое значение) – VBA функция позволяет получить название месяца, в качестве параметра указываем номер месяца.

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

Помимо указанных выше vba функций даты и времени, можно использовать и такие вариации:

Date (дата) – позволяет задать системную дату

Time (время) – позволяет задать системное время.

В приведенных выше функциях даты и времени vba языка используется параметр “интервал”, который может принимать следующие значения:

  • w – недели
  • q – квартал
  • d – месяца
  • y – года

VBA функции форматирование данных

Для форматирования данных в языке VBA используется функция Format , которая позволяет сформировать данные любого встроенного типа, используя заданный образец. Общий синтаксис функции format:

Format (Выражение, [“формат”, [первый день недели, [первая неделя года]]]) – тут параметр “выражение” является любым допустимым значением. Формат – необязательный параметр, который задает формат данных, должен заключаться в кавычки. Остальные два параметра также являются необязательными, и задают день недели, который нужно считать первым, и первую неделю года.

Параметр формат может принимать следующие значения:

  • General Number – числовое значение без выделения разрядов тысяч, например, 12150,2003
  • Currency – денежный формат, выделяются тысячные разряды и два знака после запятой, например, 255,33р.
  • Fixed – числовое значение без выделения разрядов тысяч и двумя знаками после запятой, например, 22439,12.
  • Standart – числовое значение, которое умножается на 100, при этом, остаются два знака после запятой и символ процента, например, 55,63%.
  • Scientific – числовой формат для научных вычисление, например, 5,23Е+03
  • Yes/No – данный параметр определяет, что функция вернет “Да” если форматированное выражение содержит строку Нет, или ненулевое значение и “Нет” в противном случае.
  • True/False – аналог предыдущего параметра, но для строк “Истина” и “Ложь”.
  • On/Off – для строк вида “Вкл” и “Выкл”.
  • General Date – форматирование выражения в соответствии с установленными в системе стандартами даты и времени, например, 10.11.02 12:25:50
  • Long Date – вывод полного формата даты, в зависимости от установок в системе, например, 10 октября 2013 г, vba функции даты.
  • Medium Date – средний формат дат, например, 10-Окт-13.
  • Short Date – короткий вывод формата даты, например, 10.10.13.
  • Long Time – вывод в формате времени (часы, минуты, секунды), например, 12:20:40.
  • Medium Time – 12 часовой формат времени (часы, минуты), например, 05:30.
  • Short Time - 24 часовой формат времени (часы, минуты), например, 17:30.

Спасибо за внимание. Автор блога Владимир Баталий

Порой случаются ситуации, когда выгрузки трудозатрат из различных баз данных производятся в формате времени. Если в программе Excel просто изменением формата поставить «Числовой» вместо формата «время», получаются совсем некорректные цифры непригодные для проведения расчетов.

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

№ п.п. Месяц выполнения работ Подразделение Должность Планируемое время на выполнение работы Планируемое время на выполнение работы в часах
1 Сентябрь Слесарный цех Инженер по ПБ 3:00:00 3,0
2 Сентябрь Слесарный цех Инженер-энергетик 21:20:00 21,33

Сделать это можно при помощи системы функций (формул).

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

Для перевода используется следующая функция:

Функция ЧАС(G4 ) выводит целое количество часов;

Функция МИНУТЫ(G4) выводит целое количество минут;

ОКРУГЛ(МИНУТЫ(G4)/60*100;0) – преобразует минуты в часы десятичной дробью;

Эта система функций имеет небольшой недостаток, ЧАС(G4 ) выводит целое количество часов только до значения 24, не более. Если у вас стоит время (трудозатраты) 26:25 часов, то ЧАС(G4 ) будет равен 2.

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

пЕРЕВОД ЧАСОВ В ДЕСЯТИЧНЫЕ ЧИСЛА

, где добавлена функция ДЕНЬ(G4), выводящая количество целых дней.

Как мы знаем целый (полный ) день состоит из 24 часов, соответственно ДЕНЬ(G4)*24 будет равно количеству часов в полных днях. Если к этим часам добавить количество часов в неполных днях, то получим общее количество часов: (ЧАС(G4)+ДЕНЬ(G4)*24)

Если часов набегает больше чем на 31 день, можно по аналогии применить систему функций:

Читайте также: