Как сделать график дежурств для учебного кружка: учти отсутствия, распредели пары и проверь нагрузку. Готовая неделя, формула Excel и пример обмена назначений.
А
Андрей
Преподаватель, научный редактор
8 мин чтения
У каждого по два назначения, а в понедельник один из дежурных не приходит. Таблица выглядит ровной. Работать по ней нельзя. Если решаешь, как сделать график дежурств, сначала выпиши доступность участников, затем распределяй места и считай нагрузку. Ниже есть готовый пример для учебного кружка, проверка в Excel и способ пересмотреть неделю после изменения планов.
Я однажды поставил Глеба на понедельник, потому что распределял имена по порядку. О его отсутствии знал. Просто держал условие в голове, отдельно от таблицы. Теперь рядом с графиком у меня лежит карточка ограничений. С неё и начнём.
Как сделать график дежурств: карточка условий до фамилий
В нашем кружке настольных игр пять учебных встреч за неделю. На каждую нужны двое: подготовить наборы и проверить их возврат после занятия. Дежурство считаем одним участием за день, а задачи внутри пары согласуем заранее. Это учебный пример, не порядок составления рабочих смен сотрудников.
Участников пятеро: Анна, Борис, Вера, Глеб и Даша. Для исходной недели известны такие ограничения:
Всего пять дней по два места. Получается десять назначений. При равном распределении на каждого приходится 2 раза за неделю. Арифметика сходится. Но деление десяти на пять ещё не доказывает, что удастся учесть все недоступные дни. Это предстоит проверить по строкам.
Два выхода считаются равной нагрузкой только в выбранном смысле: одинаковое число назначений. Если в пятницу проводится длинный турнир, а в понедельник короткая встреча, усилия могут различаться. Тогда одного счётчика мало. Заранее реши, сравнивается ли число дней, длительность помощи или конкретные задачи. Не меняй меру справедливости задним числом, когда участники уже приняли неделю.
Если у участника есть лишь один доступный день, а по твоему правилу ему положено два разных дневных дежурства, выполнить оба условия нельзя даже при совершенно пустой остальной таблице. Это конфликт условий. Уточни их с группой.
Я отдельно записываю, чего в условиях нет. Здесь не установлен запрет на соседние дни. Если такой запрет нужен твоей группе, добавь его до составления, а не после согласования готовой недели. Любое новое ограничение способно поменять допустимые варианты.
Полезно также определить период. Понедельник без даты подходит для примера, но для действующего графика укажи конкретную неделю. Иначе участник может открыть прошлую таблицу и принять её за актуальную.
Сначала распределяю места, потом оформляю таблицу
Я собрал вариант, в котором каждое исходное отсутствие соблюдено. Проверь его сам, не доверяя гладкому виду:
День · Первый дежурный · Второй дежурный
Понедельник — Анна — Борис
Вторник — Вера — Глеб
Среда — Даша — Анна
Четверг — Борис — Вера
Пятница — Глеб — Даша
У Анны понедельник со средой. У Бориса понедельник с четвергом. Вера назначена во вторник и четверг, Глеб — во вторник и пятницу. Даша приходит в среду и пятницу. Каждое имя встречается дважды, в одной строке стоят разные люди.
Имена здесь служат обозначениями участников примера. В большом коллективе одинаковых имён может быть несколько. Тогда используй однозначные обозначения, понятные группе. Один и тот же человек не должен распадаться в таблице на «Вера» и «Верочка», а два разных человека — превращаться в одного.
«Распредели пять участников на пять дней, двое на день. На каждого нужно два назначения. Ограничения перечислены ниже. Сначала проверь число мест, потом предложи таблицу и отдельно укажи, как соблюдено каждое отсутствие. Если выполнить все условия не получается, покажи конфликт. Не убирай ограничения молча».
Добавь карточку доступности. Это предложенный запрос, а не показ фактически полученного ответа. Предложенную таблицу нужно проверять независимо: убедительный комментарий рядом не исправляет неверно заполненную строку.
Три проверки, которые не заменяют друг друга
Первая проверка отвечает за заполнение дня. В каждой строке нужны двое разных участников. Пустая клетка означает незакрытое место. Одно имя в обеих колонках не создаёт второго помощника.
Вторая проверка отвечает за доступность. Я беру список отсутствий и прохожу его целиком: Анна во вторник не стоит, Борис в пятницу не стоит и так далее. Смотреть только на график неудобно. В нём не видно правил, которые забыли применить.
Третья проверка отвечает за нагрузку. Считаю вхождения каждого участника за весь период. Дневные пары могут быть правильными, а один человек незаметно получит лишний выход. Обратная ситуация тоже возможна: счётчики равны, но выбран день отсутствия.
Я сделал отдельную пометку «План на неделю». Фамилия в строке ещё не подтверждает выполненное дежурство. После занятия возможна фактическая замена, которую следует зафиксировать отдельно. Иначе при следующем распределении прежние плановые два выхода ошибочно примут за два состоявшихся.
Для нашего кружка достаточно понятной записи о согласованной замене. Не нужно стирать историю так, будто первым вариантом сразу был окончательный. Участники должны видеть, кто действительно помогал и какая договорённость действует дальше. Счётчик плановых назначений в Excel от этой организационной проверки не освобождает.
Я не начинаю с цвета ячеек. Сначала принимаю назначения. Цвет можно добавить позже, если он помогает читать неделю. Он не должен заменять имя или явное обозначение роли.
Если исходные условия записаны длинным сообщением, пригодится приём переноса текста в таблицу. Но после переноса проверь, что ни одно «не могу» не стало свободным днём. Потерянное отрицание меняет задачу сильнее, чем сдвинувшаяся граница клетки.
Подсчитываю назначения в Excel
Перенеси пример так, чтобы в A1 стоял «День», а две колонки дежурных занимали B и C. Пять дней окажутся в строках со второй по шестую. Значит, диапазон всех назначений — B2:C6. Если расположил таблицу иначе, ссылки в формуле надо изменить.
В E2:E6 отдельно выпиши пять участников. Рядом с первым именем, например в F2, поставь:
```text
=СЧЁТЕСЛИ($B$2:$C$6;E2)
```
СЧЁТЕСЛИ считает ячейки, соответствующие условию. Здесь условие берётся из E2. Знаки доллара фиксируют диапазон назначений при копировании вниз; ссылка E2 при этом меняется на следующего участника. Для нашего варианта напротив каждого должно получиться 2.
Я проверил границы диапазона отдельно. Если захватить только колонку B, часть дежурств исчезнет из подсчёта. Если включить рядом список участников из E, он сам добавит вхождения. Формула посчитает то, на что ты сослался, а не то, что имел в виду.
Для имён используй одинаковое написание без лишних пробелов. Расхождения в тексте способны дать неожиданный результат. Отсутствия проверь по карточке из первого раздела: СЧЁТЕСЛИ не оценивает доступность.
После сообщения об отсутствии меняется не только клетка
Допустим, ещё до начала недели Даша сообщила, что дополнительно не сможет в пятницу. Первое желание — вписать вместо неё Анну. По доступности это допустимо, но недельные итоги станут другими: Анна получит три назначения, Даша одно. Если цель равенства сохраняется, такой замены недостаточно.
В нашем примере можно обменять два места. В пятницу вместо Даши поставить Веру, а во вторник вместо Веры — Дашу. Остальные назначения оставить прежними. Даша будет дежурить во вторник и среду, Вера — в четверг и пятницу.
Проверяем условия. Даша по-прежнему свободна в четверг, Вера не назначена на среду. Пятничное новое отсутствие Даши учтено. В обеих изменённых строках остаются разные люди, недельные количества сохраняются. Последовательные дни здесь разрешены: запрета мы не задавали.
Я не распространяю этот обмен на любой график. У другой группы вторник может быть занят, а соседние дни запрещены. Тогда нужен другой вариант или пересмотр условий с участниками. Нельзя объявить невозможную задачу решённой, просто перестав написать о неудобном ограничении.
Как сделать график дежурств и передать актуальную неделю
Перед передачей у меня короткий порядок:
Указать неделю и содержание дежурства.
Подтвердить последнюю доступность участников.
Проверить заполнение дневных пар.
Повторить проверку отсутствий и недельных итогов.
Отметить версию и согласовать, где группа увидит изменения.
Замена в личной копии ещё не сообщает о ней дежурному. После согласования обнови общий используемый вариант и доведи изменение до участников. Старую распечатку тоже нужно отличать от действующей. Красивый файл не заменяет эту организационную часть.
Для регулярной подготовки таких расписаний сравни тарифы LibraChat. А для своей недели выбери самое неудобное отсутствие и проследи его от карточки до итоговой строки. Я начал с Глеба в понедельник. Такая проверка быстрее показывает ошибку, чем довольный взгляд на одинаковые счётчики.