Распределение часов по сотрудникам.

Автор slavabatov, 02.08.2012, 12:42

« назад - далее »

slavabatov

Добрый день. Подскажите, пожалуйста, как сделать обозначение ячеек цветом при условии получения данных из дополнительной таблицы, в том числе цвет из столбца "Маркер". Т.е. количество часов из колонки "Рихт" должно распределяться по очередности и с условием что сотрудник не занят. Эти сотрудники, между которыми идет распределение часов из колонки, обозначены приставкой Рихт. Далее, если по этой машине есть работы "Маляр" то они закрашиваю тем же цветом, что и работы "Рихт" по данному атомобилю. Дни разбиты по 2 часа, значит окрашиваться должно соответственное количество подъячеек. Округление арифметическое, кроме случая окончания дня, т.е. если на день работ устанавливается на 9 часов, то часы не переносятся на следующий день (работник будет задерживаться и доделывать этот час в этом дне), перенос на следующий если часов 10 и более. Заранее спасибо.

Шпец Докапыч

#1
При состыковке описания и образца, я выявил некоторые нюансы, верны ли они?:

  • к тем, у кого нет окончания "Рихт", можно условно приписать "Маляр";
  • "Маляр" не может приступить к работе над конкретной моделью ранее, чем с ней закончит "Рихт";
  • сотрудники работают 5/2 по 8(+1:29 max) часов в день;
  • выходные (обозначены "В") закраске не подлежат;
  • работники не имеют права задерживать сроки;
  • работники могут брать административный отпуск на несколько часов, но это не сдвигает распределение.
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

slavabatov

//к тем, у кого нет окончания "Рихт", можно условно приписать "Маляр";
Да, это так. Тот кто не рихтовщик, тот маляр.
//"Маляр" не может приступить к работе над конкретной моделью ранее, чем с ней закончит "Рихт";
Да.
//сотрудники работают 5/2 по 8(+1:29 max) часов в день;
Да по 8 часов в день (день разбит на 4 подъячейки по 2 часа каждая)
//выходные (обозначены "В") закраске не подлежат;
Да. "В" закраске не подлежит и часы работ переносятся через них.
//работники не имеют права задерживать сроки;
Да. Работник обязан сроки соблюдать.
//работники могут брать административный отпуск на несколько часов, но это не сдвигает распределение.
Да. Распределение неизменно, т.е. если работника нет, то начальник цеха выходит вместо него, но это ни как не меняет саму таблицу.

Шпец Докапыч

И ещё организационный вопросик: насколько задача актуальна/приоритетна?:

  • как минимум, пару недель можно подождать;
  • выгоднее решить быстро и платно.
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

slavabatov

Мне не нужно готовое решение, мне нужны знания)) как возможно это практически осуществить.

Poltava

мне кажется проще всего на макросом VBA
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

Шпец Докапыч

Предлагаю разбить решение:
1. Планируем и, по возможности, упрощаем структуру.
2. Распределяем марки на рихтовку поштучно.
3. Создаём очередь малярных работ.
4. Распределяем по малярам.
5. Конвертируем в нужную форму с рюшечками.

Во вложении я транспонировал сетку работ и модифицировал таблицу марок для более удобного заполнения. Можно считать это пунктом 1.1.

2. Задача вырисовывается следующая:

  • действие должно произойти при нажатии на кнопку;
  • из таблицы марок берётся первая марка с пустым статусом;
  • цифра из колонки "Рихт" для этой марки делится на 2;
  • полученное значение даёт кол-во клеток для заполнения "Мак" и "Лук" сверху вниз;
  • заполнять следует значением из "ID ТС" для текущей марки;
  • столбец для вписывания определяется ближайшей (сверху) пустой клеткой;
  • при совпадении пустот (одновременного освобождения) выбирается левый столбец;
  • если число было чётное, то получим точное кол-во кубиков для заполнения;
  • если число было нечётным, то проверяем на какую клетку попадает остаток (1);
  • если остаток попадает на первый даблчас (клетку) следующего дня, то откидываем;
  • если остаток метит в тот же день, то округляем вверх до целого даблчаса.
  • при нахлёсте на клетку выходного ("В"), распределение перескакивает к рабочему дню;
  • после заполнения, у текущей марки выставляет статус "ОК".

В принципе, можно и формулой сделать, а затем макросом вписать формулу и сделать закрепление макросом значений. Зависит от того, как тебе проще учиться или от того, кто возьмётся помогать. После создания данного решения, легко автоматически нажать кнопку n раз циклом.

И переходим к п.3...
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

slavabatov

Подскажите, а как заполнить определенное количество ячеек определенным значением? Например в ячейке А цифра 3, в ячейке Б 2, значит заполняем 3 ячейки подряд цифрой 2, при условии уже заполненные ячейки не трогать.

slavabatov


ShAM

Цитата: slavabatov от 06.08.2012, 09:52
Спасибо. Решение созрело.
Еще надо было написать, откуда "созрело"
http://www.planetaexcel.ru/forum.php?thread_id=43810

Poltava

Извините за ОФТОП но это только у меня половина ссылок на планету включая верхнею не открываються?
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

Serge 007

Не только. У многих. Могу дать ссылку на обсуждение, но она у Вас не откроется :)
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Шпец Докапыч

Сперва подумал: шустро, однако, решили. Оказывается, что решение созрело пока только к подзадаче в посте #7. Какой подпункт следующий?
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

ShAM

ЦитироватьНе только. У многих. Могу дать ссылку на обсуждение, но она у Вас не откроется
Хм. Теперь, чтобы с любого места в тему из Планеты попасть надо будет Cookie чистить?
Тогда стоит ли ссылки туда давать?

Poltava

ЦитироватьТеперь, чтобы с любого места в тему из Планеты попасть надо будет Cookie чистить
Спасибо и правда помогло
ЦитироватьТогда стоит ли ссылки туда давать?
Ну если нет альтернативы или лучшего источника то думаю стоит куда же деваться
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.