gling, спасибо! немного доточил - увеличил на 1 час завершения работ. В таком виде файл удовлетворяет мои задачи.
Огромное спасибо за помощь!
Огромное спасибо за помощь!
25.05.2015 20:35:35
Сергей, Спасибо большое,
то что надо, за исключением: 1) если удалить первую единичку в шкале времени, то с\по начинает считать некорректно. 2) попробуйте ввести частный случай: заполнить весь день единицами (редко но такое бывает). В этом случае по хорошему должно отобразиться с 0 по 24., с2 и по2 должны быть не заполненными. |
|
|
25.05.2015 20:28:13
gling, сильно!! спасибо большое.
Ваш вариант в первой строчке очень близок. Несколько моментов. 1) если в столбце 0 часов (J) поставить значение 1, то с\по отображают 1E11, хотя должны отобразить с 0 по 1 час. Поле "по" я поправил прибавлением 1. Так считает и отображает корректно: =SUMPRODUCT(LARGE(($I3:$AG3>$J3:$AH3)*($I$2:$AG$2);2))+1; а что сделать с полем "с"? 2) если период единый, без перерыва, заполняется второй промежуток времени с\по. Конечно работает, но можно ли сделать чтобы заполнялся первый промежуток, а второй оставался пустым? в остальном то что нужно, спасибо Вам большое! |
|
|
25.05.2015 19:06:55
gling, не, не вариант. Правое поле с единицами - это основной источник данных, при помощи которого удается посчитать суммарное время работы, не ошибиться в выделении ночного времени работы. И самое главное - планировать время работ вплоть до поминутно, одной строчкой на человека на день. Формат хотелось бы оставить в таком существующем виде.
|
|
|
25.05.2015 17:49:35
Извиняюсь если не корректно раскрыл условие задачи.
В нашем случае учет поминутный, но предлагаю это опустить. В крайнем случае я поправлю формулу если она будет найдена. Т.е. если вбить 0,5 в столбец 9, это обозначит, что в период с 9 до 10 человек отработал 30 минут. СУММ при этом корректно отработает. Есть идеи как решить задачу в такой постановке? Т.е. считаем что 1 неизменны, другие числа не вводятся? У меня сейчас такой алгоритм крутиться в голове, но я не знаю как его реализовать. 1) Ищем первую попавшуюся 1 и запоминаем значение, после которого она появилась. 2) далее нужно искать пустую клетку в диапазоне, уменьшенном на запомненное значение. 3) Ищем 1 в уменьшенном на 2м шаге диапазоне 4) ищем пустую клетку в том что осталось от диапазона (или последнее значение с 1й). копаю в сторону =indirect, но что-то туго идет.
Изменено: |
|
|