Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Общая сумма часов - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Общая сумма часов
seldom Дата: Вторник, 11.03.2025, 12:09 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 134
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Добрый день!

Подскажите пожалуйста, есть период времени, как можно посчитать общее количество часов? И общее количество часов в представленном интервале(даты начала и конца), но чтобы суммировались общей суммой только только промежутки времени с 22:00 до 06:00. Заранее спасибо!
К сообщению приложен файл: 123.xlsx (8.7 Kb)


Сообщение отредактировал seldom - Вторник, 11.03.2025, 12:09
 
Ответить
СообщениеДобрый день!

Подскажите пожалуйста, есть период времени, как можно посчитать общее количество часов? И общее количество часов в представленном интервале(даты начала и конца), но чтобы суммировались общей суммой только только промежутки времени с 22:00 до 06:00. Заранее спасибо!

Автор - seldom
Дата добавления - 11.03.2025 в 12:09
alexa1965 Дата: Вторник, 11.03.2025, 12:20 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 414
Репутация: 65 ±
Замечаний: 0% ±

2003> 2019 >2016
Доброго дня! Ну вроде как арифметика для всего часов
Код
=(H6-E6+1)*24-14-24+23
для ночных
Код
=(H6-E6+1)*8


Главное не быть балабастиком
 
Ответить
СообщениеДоброго дня! Ну вроде как арифметика для всего часов
Код
=(H6-E6+1)*24-14-24+23
для ночных
Код
=(H6-E6+1)*8

Автор - alexa1965
Дата добавления - 11.03.2025 в 12:20
bigor Дата: Вторник, 11.03.2025, 12:35 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1345
Репутация: 258 ±
Замечаний: 0% ±

нет
seldom, для J6
Код
=H6+G6-E6-D6
формат ячейки [ЧЧ]:ММ
для K6
Код
=(H6-E6)*8+MIN(6;HOUR(D6))+MIN(24-HOUR(G6);2)
но дотошно не проверял
 
Ответить
Сообщениеseldom, для J6
Код
=H6+G6-E6-D6
формат ячейки [ЧЧ]:ММ
для K6
Код
=(H6-E6)*8+MIN(6;HOUR(D6))+MIN(24-HOUR(G6);2)
но дотошно не проверял

Автор - bigor
Дата добавления - 11.03.2025 в 12:35
alexa1965 Дата: Вторник, 11.03.2025, 13:21 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 414
Репутация: 65 ±
Замечаний: 0% ±

2003> 2019 >2016
Ну если уж совсем привязано то наверное так
Код
=(H6-E6+1)*24-ЧАС(D6)-24+ЧАС(G6)


Главное не быть балабастиком
 
Ответить
СообщениеНу если уж совсем привязано то наверное так
Код
=(H6-E6+1)*24-ЧАС(D6)-24+ЧАС(G6)

Автор - alexa1965
Дата добавления - 11.03.2025 в 13:21
alexa1965 Дата: Вторник, 11.03.2025, 13:44 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 414
Репутация: 65 ±
Замечаний: 0% ±

2003> 2019 >2016
Ну и напоследок
К сообщению приложен файл: 123_1.xlsx (11.8 Kb)


Главное не быть балабастиком
 
Ответить
СообщениеНу и напоследок

Автор - alexa1965
Дата добавления - 11.03.2025 в 13:44
seldom Дата: Вторник, 11.03.2025, 13:49 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 134
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Спасибо большое, но не считает верно, и не считает если на большие интервалы дат.
К сообщению приложен файл: 1184632.xlsx (9.1 Kb)
 
Ответить
СообщениеСпасибо большое, но не считает верно, и не считает если на большие интервалы дат.

Автор - seldom
Дата добавления - 11.03.2025 в 13:49
alexa1965 Дата: Вторник, 11.03.2025, 13:52 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 414
Репутация: 65 ±
Замечаний: 0% ±

2003> 2019 >2016
Используйте формулу из сообщения 4 и будет счастье


Главное не быть балабастиком

Сообщение отредактировал alexa1965 - Вторник, 11.03.2025, 13:53
 
Ответить
СообщениеИспользуйте формулу из сообщения 4 и будет счастье

Автор - alexa1965
Дата добавления - 11.03.2025 в 13:52
seldom Дата: Вторник, 11.03.2025, 14:11 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 134
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Получилось,, только с ночными не выходит. Ночное время считается с 22:00 до 06:00.
Если к примеру поставить период с 14:00 17-01-2018 по 02:00 18-01-2018, должно получится 4 часа или период с 14:00 17-01-2018 по 02:00 19-01-2018 должно получится 12 часов.
 
Ответить
СообщениеПолучилось,, только с ночными не выходит. Ночное время считается с 22:00 до 06:00.
Если к примеру поставить период с 14:00 17-01-2018 по 02:00 18-01-2018, должно получится 4 часа или период с 14:00 17-01-2018 по 02:00 19-01-2018 должно получится 12 часов.

Автор - seldom
Дата добавления - 11.03.2025 в 14:11
alexa1965 Дата: Вторник, 11.03.2025, 14:15 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 414
Репутация: 65 ±
Замечаний: 0% ±

2003> 2019 >2016
с ночными не выходит.

Да увидел, сейчас подправлю.


Главное не быть балабастиком
 
Ответить
Сообщение
с ночными не выходит.

Да увидел, сейчас подправлю.

Автор - alexa1965
Дата добавления - 11.03.2025 в 14:15
_Boroda_ Дата: Вторник, 11.03.2025, 14:37 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16852
Репутация: 6570 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Если обе даты 01.01.2025, время с 5:01 до 6:00, то это сколько часов? 1 или 0? Если это 1 час, то тот же вопрос про время с 5:59 до 6:00
Или время только в часах, минут не бывает?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕсли обе даты 01.01.2025, время с 5:01 до 6:00, то это сколько часов? 1 или 0? Если это 1 час, то тот же вопрос про время с 5:59 до 6:00
Или время только в часах, минут не бывает?

Автор - _Boroda_
Дата добавления - 11.03.2025 в 14:37
seldom Дата: Вторник, 11.03.2025, 14:56 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 134
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Да, это один час, время в минутах не бывает
 
Ответить
СообщениеДа, это один час, время в минутах не бывает

Автор - seldom
Дата добавления - 11.03.2025 в 14:56
_Boroda_ Дата: Вторник, 11.03.2025, 15:03 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16852
Репутация: 6570 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Тогда
Код
=(H6+G6-E6-D6)*24

Код
=(H6-E6-(H6>E6))*8+(МИН(1/12;1-D6)+МАКС(;1/4-D6)+МАКС(;G6-11/12)+МИН(1/4;G6))*24

Для понятности -
Код
=(H6-E6-(H6>E6))*8+(МИН("2:";1-D6)+МАКС(;"6:"-D6)+МАКС(;G6-"22:")+МИН("6:";G6))*24
К сообщению приложен файл: 5694992.xlsx (10.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТогда
Код
=(H6+G6-E6-D6)*24

Код
=(H6-E6-(H6>E6))*8+(МИН(1/12;1-D6)+МАКС(;1/4-D6)+МАКС(;G6-11/12)+МИН(1/4;G6))*24

Для понятности -
Код
=(H6-E6-(H6>E6))*8+(МИН("2:";1-D6)+МАКС(;"6:"-D6)+МАКС(;G6-"22:")+МИН("6:";G6))*24

Автор - _Boroda_
Дата добавления - 11.03.2025 в 15:03
alexa1965 Дата: Вторник, 11.03.2025, 15:05 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 414
Репутация: 65 ±
Замечаний: 0% ±

2003> 2019 >2016
А я так понял для ночных
Код
=ЕСЛИ(ЧАС(D8)<6;6-ЧАС(D8);0)+ЕСЛИ(ЧАС(G8)>22;24-ЧАС(G8);0)+ЕСЛИ((H8-E8)>1;(H8-E8)*6-6;0)


Главное не быть балабастиком
 
Ответить
СообщениеА я так понял для ночных
Код
=ЕСЛИ(ЧАС(D8)<6;6-ЧАС(D8);0)+ЕСЛИ(ЧАС(G8)>22;24-ЧАС(G8);0)+ЕСЛИ((H8-E8)>1;(H8-E8)*6-6;0)

Автор - alexa1965
Дата добавления - 11.03.2025 в 15:05
_Boroda_ Дата: Вторник, 11.03.2025, 15:12 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 16852
Репутация: 6570 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
А я так понял для ночных

С 23:00 сегодня до 23:00 завтра сколько ночных? Должно быть 8 часов - 1 час сегодня с 23:00 до 24:00 + 6 часов завтра с 0:00 до 6:00 + 1 час завтра с 22:00 до 23:00


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
А я так понял для ночных

С 23:00 сегодня до 23:00 завтра сколько ночных? Должно быть 8 часов - 1 час сегодня с 23:00 до 24:00 + 6 часов завтра с 0:00 до 6:00 + 1 час завтра с 22:00 до 23:00

Автор - _Boroda_
Дата добавления - 11.03.2025 в 15:12
cmivadwot Дата: Вторник, 11.03.2025, 15:28 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 559
Репутация: 102 ±
Замечаний: 0% ±

365
seldom,
К сообщению приложен файл: 6023703.xlsx (9.2 Kb)
 
Ответить
Сообщениеseldom,

Автор - cmivadwot
Дата добавления - 11.03.2025 в 15:28
seldom Дата: Среда, 12.03.2025, 09:21 | Сообщение № 16
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 134
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Спасибо всем! Вроде бы считает ночные, но не до конца, вот пример если так указать период: 00:00 22.01.2018 - 03:00 22.01.2018. Считает как 0
 
Ответить
СообщениеСпасибо всем! Вроде бы считает ночные, но не до конца, вот пример если так указать период: 00:00 22.01.2018 - 03:00 22.01.2018. Считает как 0

Автор - seldom
Дата добавления - 12.03.2025 в 09:21
alexa1965 Дата: Четверг, 13.03.2025, 13:35 | Сообщение № 17
Группа: Проверенные
Ранг: Обитатель
Сообщений: 414
Репутация: 65 ±
Замечаний: 0% ±

2003> 2019 >2016
Доброго дня! Ну вроде получилось, проверяйте
Код
=ЕСЛИ(И((I6-F6)=0;ЧАС(E6)<6;ЧАС(H6)<6);ЧАС(H6)-ЧАС(E6);ЕСЛИ(ЧАС(H6)<6;ЧАС(H6)+2;0)+ЕСЛИ(ЧАС(H6)>=22;24-ЧАС(H6);0)+ЕСЛИ(ЧАС(E6)<6;6-ЧАС(E6);0)+ЕСЛИ((I6-F6)>1;(I6-F6-1)*8;0)+ЕСЛИ((I6-F6)=1;(I6-F6)*8;0))


Главное не быть балабастиком
 
Ответить
СообщениеДоброго дня! Ну вроде получилось, проверяйте
Код
=ЕСЛИ(И((I6-F6)=0;ЧАС(E6)<6;ЧАС(H6)<6);ЧАС(H6)-ЧАС(E6);ЕСЛИ(ЧАС(H6)<6;ЧАС(H6)+2;0)+ЕСЛИ(ЧАС(H6)>=22;24-ЧАС(H6);0)+ЕСЛИ(ЧАС(E6)<6;6-ЧАС(E6);0)+ЕСЛИ((I6-F6)>1;(I6-F6-1)*8;0)+ЕСЛИ((I6-F6)=1;(I6-F6)*8;0))

Автор - alexa1965
Дата добавления - 13.03.2025 в 13:35
Hugo Дата: Четверг, 13.03.2025, 13:46 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3803
Репутация: 810 ±
Замечаний: 0% ±

365
Имхо такое удобнее считать в UDF - там можно гибче настроить всякие исключения, время работы смен, да что угодно.
Делали уже тут где-то подобное, я точно где-то делал.
И в ячейку не придётся вводить такое сложное выражение.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеИмхо такое удобнее считать в UDF - там можно гибче настроить всякие исключения, время работы смен, да что угодно.
Делали уже тут где-то подобное, я точно где-то делал.
И в ячейку не придётся вводить такое сложное выражение.

Автор - Hugo
Дата добавления - 13.03.2025 в 13:46
alexa1965 Дата: Четверг, 13.03.2025, 13:52 | Сообщение № 19
Группа: Проверенные
Ранг: Обитатель
Сообщений: 414
Репутация: 65 ±
Замечаний: 0% ±

2003> 2019 >2016
удобнее считать в UDF
согласен наверное лучше но не умею пока, да и на работе низзя


Главное не быть балабастиком
 
Ответить
Сообщение
удобнее считать в UDF
согласен наверное лучше но не умею пока, да и на работе низзя

Автор - alexa1965
Дата добавления - 13.03.2025 в 13:52
Hugo Дата: Четверг, 13.03.2025, 14:49 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3803
Репутация: 810 ±
Замечаний: 0% ±

365
да и на работе низзя

- из персональной книги или своей надстройки тоже нельзя7
Код например вот:
[vba]
Код
Function WorkingMinNight(dFrom As Date, dTo As Date)
Dim i As Double, time_&, x&

For i = dFrom To dTo Step 1 / 24 / 60
'Debug.Print Format(i, "dd.mm.yyyy hh:mm")
time_ = Hour(i) * 60 + Minute(i)

    If time_ >= 1320 Then '22:00
        x = x + 1
    End If
    If time_ <= 360 Then '6:00
        x = x + 1
    End If
Next
WorkingMinNight = x
End Function
[/vba]

В ячейке
Код
=WorkingMinNight(E6+D6;H6+G6)/60
(формум искажает, пощёлкайте иконку, ну понятно как надо. У меня показывает правильно только если Рус и обновить страницу )
/60 потому что результат в минутах, переводим в требуемые часы.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD


Сообщение отредактировал Hugo - Четверг, 13.03.2025, 15:15
 
Ответить
Сообщение
да и на работе низзя

- из персональной книги или своей надстройки тоже нельзя7
Код например вот:
[vba]
Код
Function WorkingMinNight(dFrom As Date, dTo As Date)
Dim i As Double, time_&, x&

For i = dFrom To dTo Step 1 / 24 / 60
'Debug.Print Format(i, "dd.mm.yyyy hh:mm")
time_ = Hour(i) * 60 + Minute(i)

    If time_ >= 1320 Then '22:00
        x = x + 1
    End If
    If time_ <= 360 Then '6:00
        x = x + 1
    End If
Next
WorkingMinNight = x
End Function
[/vba]

В ячейке
Код
=WorkingMinNight(E6+D6;H6+G6)/60
(формум искажает, пощёлкайте иконку, ну понятно как надо. У меня показывает правильно только если Рус и обновить страницу )
/60 потому что результат в минутах, переводим в требуемые часы.

Автор - Hugo
Дата добавления - 13.03.2025 в 14:49
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!