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

Вход

Регистрация

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

 

= Мир MS Excel/Рассчёт рабочих часов двух смен - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Рассчёт рабочих часов двух смен
ну Дата: Суббота, 15.12.2012, 05:25 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

мне не понятно как работает формула в "G13" для удобства смотрите в "G14" , растолкуйте пожалуйста.

Вся формула полностью мне не ясна.
=MIN(MIN(D14;"06:00")-MIN(C14;"06:00")+MAX(D14;"20:00")-MAX(C14;"20:00")+(D14<N(C14))*("06:00"-"20:00"+1))
К сообщению приложен файл: 2012-12-13_____.xlsx (14.1 Kb)
 
Ответить
Сообщениемне не понятно как работает формула в "G13" для удобства смотрите в "G14" , растолкуйте пожалуйста.

Вся формула полностью мне не ясна.
=MIN(MIN(D14;"06:00")-MIN(C14;"06:00")+MAX(D14;"20:00")-MAX(C14;"20:00")+(D14<N(C14))*("06:00"-"20:00"+1))

Автор - ну
Дата добавления - 15.12.2012 в 05:25
MCH Дата: Суббота, 15.12.2012, 10:36 | Сообщение № 2
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

В формуле лишний МИН(), Ч() тоже лишняя, формулу можно немного упростить:
[vba]
Code
=МИН(D14;"06:00")-МИН(C14;"06:00")+МАКС(D14;"20:00")-МАКС(C14;"20:00")+(D14<C14)*("06:00"-"20:00"+1)
[/vba]

Кстати, хорошая формула, нужно запомнить.

Тестирую, пока работает правильно, возможно формула получилась после математического упрощения более длинной формулы.
А что за формула в G25? Возможно из нее получена сокращенная формула

Смысл формулы (пока до конца тоже не разобрался):
Первое слагаемое:
Code
МИН(D14;"06:00")-МИН(C14;"06:00")
- вычисляем сколько ночных часов прошло с 00:00 до 06:00
Второе слагаемое:
Code
МАКС(D14;"20:00")-МАКС(C14;"20:00")
- сколько ночный часов с 20:00 до 24:00
Третье слагаемое:
Code
(D14<C14)*("06:00"-"20:00"+1)
- если время окончания меньше времени начала, то произошел переход через полночь, соответственно добавляем 10 ночных часов, и происходит коррекция для первого и второго слагаемых, т.к. там могли получится отрицательные часы


Сообщение отредактировал MCH - Суббота, 15.12.2012, 10:40
 
Ответить
СообщениеВ формуле лишний МИН(), Ч() тоже лишняя, формулу можно немного упростить:
[vba]
Code
=МИН(D14;"06:00")-МИН(C14;"06:00")+МАКС(D14;"20:00")-МАКС(C14;"20:00")+(D14<C14)*("06:00"-"20:00"+1)
[/vba]

Кстати, хорошая формула, нужно запомнить.

Тестирую, пока работает правильно, возможно формула получилась после математического упрощения более длинной формулы.
А что за формула в G25? Возможно из нее получена сокращенная формула

Смысл формулы (пока до конца тоже не разобрался):
Первое слагаемое:
Code
МИН(D14;"06:00")-МИН(C14;"06:00")
- вычисляем сколько ночных часов прошло с 00:00 до 06:00
Второе слагаемое:
Code
МАКС(D14;"20:00")-МАКС(C14;"20:00")
- сколько ночный часов с 20:00 до 24:00
Третье слагаемое:
Code
(D14<C14)*("06:00"-"20:00"+1)
- если время окончания меньше времени начала, то произошел переход через полночь, соответственно добавляем 10 ночных часов, и происходит коррекция для первого и второго слагаемых, т.к. там могли получится отрицательные часы

Автор - MCH
Дата добавления - 15.12.2012 в 10:36
AlexM Дата: Суббота, 15.12.2012, 11:11 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Чем-то напоминает формулу из темы Из общего времени - ночные
но тут покрасившее, причесанная можно сказать.
Так что в той теме можно было так
Code
=МИН(I6;6/24)-МИН(G6;6/24)+МАКС(I6;22/24)-МАКС(G6;22/24)+(H6-F6)*8/24

или
Code
=МИН(I6;"6:00")-МИН(G6;"6:00")+МАКС(I6;"22:00")-МАКС(G6;"22:00")+(H6-F6)*("8:00")



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеЧем-то напоминает формулу из темы Из общего времени - ночные
но тут покрасившее, причесанная можно сказать.
Так что в той теме можно было так
Code
=МИН(I6;6/24)-МИН(G6;6/24)+МАКС(I6;22/24)-МАКС(G6;22/24)+(H6-F6)*8/24

или
Code
=МИН(I6;"6:00")-МИН(G6;"6:00")+МАКС(I6;"22:00")-МАКС(G6;"22:00")+(H6-F6)*("8:00")

Автор - AlexM
Дата добавления - 15.12.2012 в 11:11
ну Дата: Суббота, 15.12.2012, 15:21 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Quote (MCH)
А что за формула в G25? Возможно из нее получена сокращенная формула


да, в G25 находится оригинал, что я нашёл в интернете, потом я переделал его в G20 потом G15 потом G14 потом G13
 
Ответить
Сообщение
Quote (MCH)
А что за формула в G25? Возможно из нее получена сокращенная формула


да, в G25 находится оригинал, что я нашёл в интернете, потом я переделал его в G20 потом G15 потом G14 потом G13

Автор - ну
Дата добавления - 15.12.2012 в 15:21
AlexM Дата: Суббота, 15.12.2012, 15:52 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Quote (MCH)
Смысл формулы (пока до конца тоже не разобрался)

Скорее всего уже разобрался.

Допустим время начала 4:00, а время конца 14:00
МИН("14:00";"06:00") вернет 6, так как это меньше 14
МИН("4:00";"06:00") вернет 4, так как это меньше 6
Разница будет сколько часов ночной смены до 6:00, т.е. 2 часа
МАКС("14:00";"20:00") вернет 20, так как это больше 14
МАКС("4:00";"20:00") вернет 20, так как это больше 4
Разница будет сколько часов ночной смены после 20:00, т.е. 0 часов
Сумма двух МИН и двух МАКС будет 2 часа ночного времени, что соответствует данному условию.

Теперь начало в 14:00, а конец в 23:00
МИН("23:00";"06:00") вернет 6, так как это меньше 23
МИН("14:00";"06:00") вернет 6, так как это меньше 14
Разница будет сколько часов ночной смены после 6:00, т.е. 0
МАКС("23:00";"20:00") вернет 23, так как это больше 20
МАКС("14:00";"20:00") вернет 20, так как это больше 14
Разница будет сколько часов ночной смены после 20:00, т.е. 3 часа
Сумма двух МИН и двух МАКС будет 3 часа ночного времени, что соответствует данному условию.

А теперь время начала 4:00, а время конца 23:00
Сумма двух МИН и двух МАКС будет 2+3=5 часов ночного времени, что соответствует данному условию.

О фрагменте формулы (23:00<4:00)*("06:00"-"20:00"+1)
Сказано правильно, т.е. прибавится 0, так как 23:00<4:00=ЛОЖЬ=0



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Воскресенье, 16.12.2012, 08:21
 
Ответить
Сообщение
Quote (MCH)
Смысл формулы (пока до конца тоже не разобрался)

Скорее всего уже разобрался.

Допустим время начала 4:00, а время конца 14:00
МИН("14:00";"06:00") вернет 6, так как это меньше 14
МИН("4:00";"06:00") вернет 4, так как это меньше 6
Разница будет сколько часов ночной смены до 6:00, т.е. 2 часа
МАКС("14:00";"20:00") вернет 20, так как это больше 14
МАКС("4:00";"20:00") вернет 20, так как это больше 4
Разница будет сколько часов ночной смены после 20:00, т.е. 0 часов
Сумма двух МИН и двух МАКС будет 2 часа ночного времени, что соответствует данному условию.

Теперь начало в 14:00, а конец в 23:00
МИН("23:00";"06:00") вернет 6, так как это меньше 23
МИН("14:00";"06:00") вернет 6, так как это меньше 14
Разница будет сколько часов ночной смены после 6:00, т.е. 0
МАКС("23:00";"20:00") вернет 23, так как это больше 20
МАКС("14:00";"20:00") вернет 20, так как это больше 14
Разница будет сколько часов ночной смены после 20:00, т.е. 3 часа
Сумма двух МИН и двух МАКС будет 3 часа ночного времени, что соответствует данному условию.

А теперь время начала 4:00, а время конца 23:00
Сумма двух МИН и двух МАКС будет 2+3=5 часов ночного времени, что соответствует данному условию.

О фрагменте формулы (23:00<4:00)*("06:00"-"20:00"+1)
Сказано правильно, т.е. прибавится 0, так как 23:00<4:00=ЛОЖЬ=0

Автор - AlexM
Дата добавления - 15.12.2012 в 15:52
  • Страница 1 из 1
  • 1
Поиск:

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