Страницы: 1
RSS
Как закрасить ячейки 2 через два для графика работы
 
Во первых, хочу сказать спасиюо за такой офигенный сайт. Нашла массу всего полезного для работы.  
 
Сейчас у меня очень простая задача, которая видимо легко рещается. Но вот не могу.  
 
Надо сделать график дежурств. Одни люди работают два через два, другие три через два.    
Хотелось бы получить такую табличку: с одно строны даты, в шапке фамилии, и ячейки на пересечении либо закрашены, либо нет (работает/не работает).    
Ну и чтоб это все как-то само получалось (достаточно лишь формулу продлить, к примеру)  
Спасибо
 
{quote}{login=Алена}{date=11.10.2007 05:39}{thema=Как закрасить ячейки 2 через два для графика работы}{post}Надо сделать график дежурств. Одни люди работают два через два, другие три через два.    
Хотелось бы получить такую табличку: с одно строны даты, в шапке фамилии, и ячейки на пересечении либо закрашены, либо нет (работает/не работает).    
Ну и чтоб это все как-то само получалось (достаточно лишь формулу продлить, к примеру)  
Спасибо{/post}{/quote}  
 
Через <условное форматирование> Если, допустим, в ячейке у вас будут проставляться часы работы (8, 10 и т.п. часов), а выходные - О часов - указываете, что значение "равно" нулю, выбираете формат ячейки (заливка, шрифт его цвет и кегль) по своим эстетическим соображениям..Тогда там, где у вас будет пусто, ячейка приобретет нужный вам вид..Таким же образом можно "навести красоту" для заполненяемых ячеек..Перед тем, как воспользоваться условным форматированием, выделите нужные вам строки.
 
В данном случае можно обойтись без формул, выделенные строки (ячейки) автоматически будут "окрашиваться"...
 
Спасибо большое за ответ. Но это не совсем то, что нужно.  
 
График делается наперед.То есть, чтобы не раставлять вручную, когда кто должен работать, у меня возникла идея сделать это автоматически. Тем более, что есть определенная закономерность.    
В принципе мне подойдет не закращивание, а проставление какого-либо знака (типа количества часов или слов работает/не работает)-любая метка. Если она будет, там уже хоть бегущих муравьев ставь :)  
Только вот как задать законамерность, чтобы excel помечал две клеточки одним способом, две клеточки другим
 
Это я была. забыла имя написать
 
Вот пример решения. См. файл.
 
{quote}{login=}{date=12.10.2007 03:40}{thema=}{post}Только вот как задать законамерность, чтобы excel помечал две клеточки одним способом, две клеточки другим{/post}{/quote}  
Попробуйте сделать образец (в данном случае - из четырёх клеточек), выделить все эти четыре клетки сразу и растянуть за уголок.
 
{quote}{login=genyaa}{date=12.10.2007 11:06}{thema=}{post}Вот пример решения. См. файл.{/post}{/quote}  
 
А можете более детально описать саму формулу.
 
{quote}{login=}{date=12.10.2007 05:59}{thema=Re: }{post}  
А можете более детально описать саму формулу.{/post}{/quote}  
 
Нет проблем...  
 
См. формулу в ячейке В5: =ЕСЛИ(И($A5>=B$4;($A5-B$4)-(ЦЕЛОЕ(($A5-B$4)/СУММ(B$2:B$3))*СУММ(B$2:B$3))<=(B$2-1));"Раб";""),    
- в которой функция ЕСЛИ возвращает строчку "Раб", если выражение И($A5>=B$4;($A5-B$4)-(ЦЕЛОЕ(($A5-B$4)/СУММ(B$2:B$3))*СУММ(B$2:B$3))<=(B$2-1)) принимает значение ИСТИНА,    
- в котором функции возрващает значение ИСТИНА если выражения $A5>=B$4 и ($A5-B$4)-(ЦЕЛОЕ(($A5-B$4)/СУММ(B$2:B$3))*СУММ(B$2:B$3))<=(B$2-1)) возвращают значение ИСТИНА одновременно,    
- выражение $A5>=B$4 будет иметь значение ИСТИНА, если дата дня графика (в колонке А) больше или равна (т.е. не раньше) даты начала отсчёта (в строке 4) - таким образом для всех дат более ранних, чем дата начала отсчета формула в ячеке не будет возвращать Раб, чтобы для работников, принятных на работу позже начальной даты графика не проставлялись рабочие дни  
- выражение ($A5-B$4)-(ЦЕЛОЕ(($A5-B$4)/СУММ(B$2:B$3))*СУММ(B$2:B$3))<=(B$2-1)) принимает значение ИСТИНА, если значение выражения ($A5-B$4)-(ЦЕЛОЕ(($A5-B$4)/СУММ(B$2:B$3))*СУММ(B$2:B$3)) меньше или равно значения выражения (B$2-1), т.е. меньше или равно значения количества рабочих дней подряд для работника (по его индивидульному последовательному графику), указанных в строке В, уменьшенных на 1 для согласования с вычислением в левой части выражения (см. пояснение к левой части выражения).  
- левая часть выражения, т.е. выражение ($A5-B$4)-(ЦЕЛОЕ(($A5-B$4)/СУММ(B$2:B$3))*СУММ(B$2:B$3)) расчитывает разницу между текущей датой графика (А5) и началом ближайшего более раннего очередного периода последовательности рабочих и нерабочих дней индивидуального графика работника (строки 2 и 3), для этого:  
- расчитывается количество дней целых периодов, прошедших (условно) со дня начала отсчета (строка 4) до текущей даты (колонка А) с помощью выражения (ЦЕЛОЕ(($A5-B$4)/СУММ(B$2:B$3))*СУММ(B$2:B$3)), в котором  
- СУММ(B$2:B$3) - длина периода (сумма количеств рабочих и нерабочих дней в последовательности индивидуального графика)  
- ЦЕЛОЕ(($A5-B$4)/СУММ(B$2:B$3)) - количество целых периодов, прошедших (условно) со дня начала отсчета (строка 4) до текущей даты - это делается путем выделения целой части значения деления количества дней между текущей датой (А5) и датой начала отсчета (В4) на длину периода (сумма значений в строках 2 и 3 этого работника),    
- а уможением полученного количества целых периодов, прошедших (условно) со дня начала отсчета (строка 4) до текущей даты на длину периода получается количество дней  целых периодов, прошедших (условно) со дня начала отсчета (строка 4) до текущей даты (колонка А).  
- выражение ($A5-B$4) возвращает количество дней, прошедших со дня начала отсчета до текущей даты (за минусом самого дня начала отсчета - именно поэтому в провой части сравнения необходимо было добавить согласование вычислений уменьшением на единицу)  
- таким образом вычитая из количества дней, прошедших со дня начала отсчета до текущей даты, количество дней целых периодов прошедщих с начала отсчета до текущей даты получается количество дней, остоящих от начала очередного периода.  
 
В формуле используются относительные и абсолютные ссылки так, чтобы формулы можно было копировать растягиванием или автозаполнением областей ячеек.  
 
Формула в условном форматировании практически единтична формуле в ячейках, и полностью повторяет ту же логику вычислений.  
 
Всё просто!
Страницы: 1
Читают тему
Наверх