Страницы: 1
RSS
Помогите с расчётом ночных часов.
 
Спецы по Excel помогите! Вроде простая задача, а как это вбить в Excel не знаю. Короче например, начало работы в 23:40 (ячейка С2), конец работы 8:10 (ячейка D2). Сколько отработано ночных часов, если ночные с 22:00 до 6:00 ?(хочу чтоб считалось в ячейку F2)  Нужно чтоб считала для всех вариантов начала и конца работы. А так же вечерние часы с 18:00 до 22:00. Подскажите формулу расчёта, пожалуйста. Файл шаблон прилагается. Надо чтоб при вводе времени начала и конца, ячейки ночные и вечерние заполнялись автоматом.
 
Где-то на форуме было простое решение - немогу найти. Мне проще массивами решить, хотя конечно весьма тяжеловесно...
 
Лишняя минута проскакивала, подправил немного диапазоны.
 
без формул массива  
но доп таблица  
исправил формулы и форматы времени работы для случая больше суток  
в архиве 300К  
http://exfile.ru/87952
 
Всем спасибо за старания. Но результаты не впечатлили... Сделали на другом сайте. Кому интересно прикрепляю к сообщению.
 
не впечатлили  
никто и не собирался  
если полуфабрикат устраивает флаг в руки
 
Не очень понятно, где у Вас ночные часы, где вечерние?  
Если считать ночные с 00:00 по 06:00, то как Вы предполагаете вечерние? С какого и по какое время?  
В таблице увидел большие странности, формулы слишком громоздки не то, что для вычислений, но и для понимания.  
Мне кажется, можно найти более простое решение, если чуть-чуть изменить структуру таблицы.  
Дату указать отдельно, а часы начала и окончания работ - также отдельно. Сразу отпадет необходимость в смещениях и прочих хитростях.  
 
В ячейке "Начало" пишем не 28.02.2010  5:40:00, а 5:40  
Соответственно в ячейке "Конец" - не 28.02.2010  15:20:00, а 15:20  
 
В вычислениях имеем:    
В ячейку "Раб.время" вводим формулу: =ОСТАТ(RC[-1]-RC[-2];1) вместо
нудного условия =ЕСЛИ(ИЛИ(RC[-2]="";RC[-1]="");"";RC[-1]-RC[-2])
 
В ячейку "Ночные" вместо гигаформулы:  
=ЕСЛИ(ИЛИ(RC[-3]="";RC[-2]="");"";(СУММ(--(СТРОКА(ИНДЕКС(R1C1:R3000C1;ТЕКСТ(RC[-3];"[мм]")-ТЕКСТ(ЦЕЛОЕ(RC[-3]);"[мм]")+1):ИНДЕКС(R1C1:R3000C1;ТЕКСТ(RC[-2];"[мм]")-ТЕКСТ(ЦЕЛОЕ(RC[-3]);"[мм]")))=ТРАНСП(СТРОКА(R1321:R1800))))+СУММ(--(СТРОКА(ИНДЕКС(R1C1:R3000C1;ТЕКСТ(RC[-3];"[мм]")-ТЕКСТ(ЦЕЛОЕ(RC[-3]);"[мм]")+1):ИНДЕКС(R1C1:R3000C1;ТЕКСТ(RC[-2];"[мм]")-ТЕКСТ(ЦЕЛОЕ(RC[-3]);"[мм]")))=ТРАНСП(СТРОКА(R1:R360)))))/1440)
 
по моему мнению надо поставить более простую, которая выполняет те же действия, что и мегаформула, но понятнее и удобнее для редактирования:  
=ЕСЛИ((RC[-3])<ВРЕМЯ(6;0;0);ВРЕМЯ(6;0;0)-(RC[-3]);ЕСЛИ((RC[-3])>ВРЕМЯ(6;0;0);ВРЕМЯ(6;0;0);0))
 
Судить строго не надо, просто сделал это на вскидку, возможно, не учел какую-то проверку. Не думаю, что надо так извращаться с простым заданием. Вечерние не делал, так как не понял временной период.  
 
Однако хотел просто показать, как с помощью простой реструктуризации данных можно значительно упростить себе жизнь.
 
{quote}{login=REMniOFF}{date=08.03.2010 11:44}{thema=Re: }{post}Не очень понятно, где у Вас ночные часы, где вечерние?{/post}{/quote}  
Перечитываем вопрос  
"ночные с 22:00 до 6:00 ... вечерние часы с 18:00 до 22:00"    
Что непонятно?
 
Вариант решения с СУММПРОИЗВ:
 
помогите отредактировать. нужно чтобы книга считала ночные с 22 до 6 утра ресторан работает круглосуточно.  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
Поможем обязательно. Только правила прочтите. Такое кол-во кб нельзя выкладывать.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Страницы: 1
Читают тему
Наверх