Составление расписания уроков в школе — задача, которая требует учёта десятков переменных: учебный план, нагрузка учителей, распределение кабинетов, параллели классов и даже санпиновские нормы по продолжительности уроков и переменам. Вручную это делать не только долго, но и чревато ошибками. Microsoft Excel становится идеальным инструментом для такой работы благодаря гибкости таблиц, возможности использовать формулы и условное форматирование.
Многие школы до сих пор ведут расписание в тетрадях или печатных бланках, что приводит к путанице при изменениях. Переход на электронный формат экономит до 40% времени на составление и корректировку расписания (по данным опроса директоров школ в 2023 году). При этом не требуется покупать специализированное ПО — достаточно базовых знаний Excel и нашего руководства.
В этой статье вы найдёте не только пошаговую инструкцию для новичков, но и продвинутые приёмы: как автоматически проверять пересечение уроков у учителей, как учитывать «окна» в расписании, и как экспортировать готовый вариант в удобные форматы для печати или онлайн-доски. Даже если вы никогда раньше не работали с формулами, наши примеры с готовыми шаблонами помогут разобраться.
Для начала определитесь с целевой аудиторией вашего расписания:
- 📚 Для учеников — упор на наглядность (цветовые маркировки по предметам, крупный шрифт)
- 👩🏫 Для учителей — акцент на распределении нагрузки (проверка «окон», равномерность уроков по дням)
- 🏫 Для администрации — контроль загрузки кабинетов, соблюдение СанПиН
1. Подготовка базовой структуры таблицы
Первый шаг — создание «скелета» расписания. Откройте новый файл Excel и настройте рабочую область. Мы рекомендуем использовать отдельные листы для разных целей:
- 📄
Расписание— основная таблица с уроками - 📄
Учителя— список преподавателей и их нагрузка - 📄
Кабинеты— перечень аудиторий и их оснащение - 📄
Предметы— учебный план с количеством часов по каждому предмету
На листе Расписание создайте заголовки:
- В строке 1 укажите дни недели (например, с
B1:G1— «Понедельник», «Вторник» и т.д.) - В столбце
A(начиная сA2) пронумеруйте уроки (1, 2, 3...) с указанием времени (например, «1. 08:30–09:15») - Объедините ячейки для названий дней: выделите
B1:C1, нажмитеГлавная → Объединить и поместить в центре
Важно: оставьте запас строк снизу (хотя бы 50) — это пригодится для формул и дополнительных данных. Ширину столбцов установите не менее 20 символов, чтобы вмещались длинные названия предметов.
2. Заполнение расписания: ручной ввод vs автоматизация
На этом этапе у вас есть два пути: вводить данные вручную или настроить полуавтоматическое заполнение. Ручной метод подходит для небольших школ (до 20 классов), но уже при 30+ классах становится неэффективным.
Для ручного заполнения:
- 🔹 В ячейку
B2введите название предмета (например, «Математика») - 🔹 В скобках укажите учителя и кабинет:
Математика (Иванова А.П., к.204) - 🔹 Скопируйте формат на все ячейки таблицы
Для полуавтоматического заполнения потребуется подготовить вспомогательные таблицы на других листах. Например, на листе Учителя создайте таблицу:
| ФИО | Предмет | Макс. нагрузка (часов/неделю) | Примечание |
|---|---|---|---|
| Иванова А.П. | Математика | 24 | Стаж 15 лет |
| Петров С.В. | Физика | 18 | Классное руководство 10А |
| Сидорова Е.К. | Русский язык | 30 | Заместитель директора |
Затем на листе Расписание в ячейке B2 можно использовать выпадающий список:
- Выделите
B2:G20(или весь диапазон расписания) - Перейдите в
Данные → Проверка данных → Тип данных: Список - В поле
Источникукажите:=Учителя!$A$2:$A$100(диапазон с ФИО учителей)
Как сделать зависимые выпадающие списки?
1. Сначала создайте список учителей (как в примере выше). 2. На листе "Предметы" сделайте таблицу с соответствием учитель-предмет. 3. В проверке данных для ячейки предмета используйте формулу =ДВССЫЛ("Предметы!B" & ПОИСКПОЗ($B2; Учителя!$A$2:$A$100; 0)), где $B2 — ячейка с ФИО учителя.
3. Условное форматирование для наглядности
Чёрно-белое расписание сложно воспринимать на глаз. Условное форматирование поможет выделить:
- 🎨 Предметы разными цветами (математика — синий, русский — красный и т.д.)
- ⚠️ Пересечения уроков у одного учителя (красная заливка)
- 🔄 «Окна» в расписании (жёлтая заливка)
Для цветовой маркировки предметов:
- Выделите диапазон расписания (например,
B2:G20) - Перейдите в
Главная → Условное форматирование → Создать правило - Выберите
Форматировать только ячейки, которые содержат - В поле «Форматировать только ячейки с» укажите:
Текст → содержащий → Математика - Нажмите
Формат, выберите синий цвет заливки - Повторите для других предметов
Для проверки пересечений уроков у учителей потребуется формула. Предположим, что ФИО учителя в ячейке расписания указано в формате Предмет (ФИО, кабинет). Тогда:
- Создайте правило условного форматирования для диапазона
B2:G20 - Выберите
Использовать формулу для определения форматируемых ячеек - Введите формулу:
Эта формула ищет повторяющиеся ФИО учителей в расписании.=ИЛИ(СЧЁТЕСЛИ($B$2:$G$20; "" & ПСТР(B2; ПОИСК("("; B2)+1; ПОИСК(";"; B2)-ПОИСК("("; B2)-1) & "")>1) - Установите красный цвет заливки для ячеек, где формула возвращает
ИСТИНА
4. Автоматическая проверка ошибок
Даже опытные составители расписания упускают пересечения уроков или превышение нагрузки. Excel может выявлять такие ошибки автоматически с помощью формул.
Проверка нагрузки учителей:
- На листе
Учителядобавьте столбецФактическая нагрузка - В ячейку
D2(рядом с ФИО первого учителя) введите формулу:
Эта формула считает, сколько раз ФИО учителя встречается в расписании.=СЧЁТЕСЛИ(Расписание!$B$2:$G$20; "" & A2 & "") - Скопируйте формулу на всех учителей
- Добавьте условное форматирование: если
Фактическая нагрузка > Макс. нагрузка, заливка красная
Проверка «окон» в расписании:
⚠️ Внимание: СанПиН 2.4.2.2821-10 запрещает «окна» продолжительностью более 90 минут для учеников 1–4 классов и более 2 академических часов для 5–11 классов. В Excel это можно отследить с помощью функции ЕСЛИОШИБКА.
Для поиска «окон» у классов:
- На отдельном листе создайте таблицу с классами (столбец
A) и днями недели (строка 1) - В ячейку
B2введите формулу:
Формула проверяет, есть ли урок, за которым следует пустая ячейка, а затем снова урок.=ЕСЛИ(И(Расписание!B2<>""; Расписание!B3=""; СЧЁТЕСЛИ(Расписание!B4:B20; "<>"")); "Окно!"; "") - Растяните формулу на весь диапазон
5. Динамические элементы: выпадающие списки и гиперссылки
Сделайте расписание интерактивным с помощью динамических элементов. Это упростит навигацию и редактирование.
Выпадающие списки для предметов:
- 📋 На листе
Предметысоздайте список всех дисциплин (столбецA) - 🔄 На листе
Расписаниевыделите диапазон для предметов и настройте проверку данных со ссылкой наПредметы!$A$2:$A$50 - 🔗 Добавьте второй выпадающий список для учителей, который будет зависимым от выбранного предмета (см. спойлер в разделе 2)
Гиперссылки для быстрой навигации:
- 📌 Вставьте гиперссылку на лист
Учителяв ячейку с ФИО: выделите ячейку →Вставка → Гиперссылка→ укажитеМесто в документе → Лист "Учителя" - 📊 Добавьте кнопку «Печать» с макросом (если используете Excel с поддержкой VBA):
Этот макрос печатает только диапазон с расписанием.Sub ПечатьРасписания()ActiveSheet.PageSetup.PrintArea = "$A$1:$G$20"
ActiveSheet.PrintOut
End Sub
Для удобства добавьте кнопки переключения между неделями (если у вас двухнедельное расписание):
- 🔄 Создайте два листа:
Неделя1иНеделя2с одинаковой структурой - 📌 На каждом листе добавьте кнопку (вкладка
Разработчик → Вставить → Кнопка) с макросом перехода на другой лист
Убраны все пересечения уроков у учителей|Проверена нагрузка (не превышает максимальную)|Отсутствуют "окна" длительностью >2 часов|Цветовая маркировка соответствует легенде|Указаны все кабинеты и ФИО учителей-->
6. Экспорт и печать готового расписания
Когда расписание готово, его нужно правильно подготовить к печати или экспорту для размещения на сайте школы. Вот ключевые настройки:
Подготовка к печати:
- 🖼️ Установите
Параметры страницы → Размер: А3(для большого расписания) илиА4(для классного варианта) - 🔍 Включите
Печать → Показать поляи отрегулируйте отступы так, чтобы расписание помещалось на один лист - 📌 Добавьте колонтитулы с названием школы и учебным годом:
Вставка → Колонтитулы
Экспорт в другие форматы:
- 📱 Для онлайн-доски: сохраните как
PDF(Файл → Экспорт → Создать PDF/XPS) и загрузите в систему дистанционного обучения - 🌐 Для сайта школы: экспортируйте как веб-страницу (
Файл → Экспорт → Изменить тип файла → Веб-страница), но учтите, что формулы не сохранятся - 📧 Для рассылки: скопируйте диапазон расписания и вставьте как картинку в Word или email (правая кнопка →
Специальная вставка → Картинка)
Печать по классам: если нужно распечатать индивидуальные расписания для каждого класса, используйте фильтрацию:
- Добавьте столбец
Классслева от расписания (например, вA2:A20укажите «5А», «5Б» и т.д.) - Примените фильтр (
Данные → Фильтр) и выберите нужный класс - Напечатайте отфильтрованные данные
⚠️ Внимание: При печати расписания с условным форматированием цвета сохранятся только в форматеПечать → Качество: Черновик— она может игнорировать цвета.
7. Продвинутые приёмы: формулы и макросы
Для крупных школ (20+ классов) ручное составление расписания занимает десятки часов. Автоматизируйте процесс с помощью формул и скриптов.
Автоматическое распределение уроков по нагрузке:
- 📊 На листе
Предметыукажите недельную нагрузку по каждому предмету для класса (например, «Математика — 5 часов») - 🔄 Используйте функцию
СЛЧИСдля случайного распределения уроков по дням:
Эта формула массива распределяет предметы с учётом недельной нагрузки.=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$10; НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($B$1:B1; $A$2:$A$10)<ВПР($A$2:$A$10; Нагрузка!A:B; 2); СТРОКА($A$2:$A$10)-1)); СЛУЧМЕЖДУ(1; СЧЁТЕСЛИ(Нагрузка!B:B; ">0")))); "")
Макрос для генерации расписания: если вы владеете VBA, этот код создаст базовую структуру расписания:
Sub GenerateSchedule()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Расписание")
' Заголовки дней недели
ws.Range("B1:G1").Value = Array("Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота")
' Номера уроков
For i = 2 To 10
ws.Cells(i, 1).Value = "Урок " & i - 1
Next i
' Форматирование
ws.Range("A1:G10").Borders.Weight = xlThin
ws.Columns("A:G").AutoFit
End Sub
Интеграция с внешними данными: если у вас есть учебный план в формате XML или CSV, импортируйте его в Excel:
- Перейдите в
Данные → Получить данные → Из файла → Из текстового/CSV - Выберите файл с учебным планом
- Настройте разделители и типы данных
- Загрузите данные на новый лист и свяжите с основным расписанием через
ВПРилиИНДЕКС/ПОИСКПОЗ
8. Облачные альтернативы: Google Sheets и совместная работа
Если в вашей школе несколько человек работают над расписанием, Google Sheets станет более удобным решением благодаря возможности одновременного редактирования. Перенести расписание из Excel в Google Sheets просто:
- 📤 Загрузите файл
.xlsxв Google Drive - 🔄 Откройте его через Google Sheets (правая кнопка →
Открыть с помощью → Google Таблицы) - 🔗 Все формулы и условное форматирование сохранятся автоматически
Преимущества Google Sheets для расписания:
- 🌐 Доступ с любого устройства — редактируйте с телефона или планшета
- 🔄 История изменений — откат к любой версии за последние 30 дней (
Файл → История версий) - 📊 Встроенные опросы — отправляйте учителям ссылку на таблицу для подтверждения их расписания
- 🤖 Скрипты Google Apps Script — автоматизируйте рассылку расписания по email
Пример скрипта для рассылки: этот код отправит расписание на email всем учителям:
const sheet = SpreadsheetApp.getActiveSpreadsheet(); const teachers = sheet.getSheetByName("Учителя").getRange("A2:D100").getValues(); teachers.forEach(([name, , , email]) => { if (email) { const schedule = getTeacherSchedule(name); // Функция для извлечения расписания учителя MailApp.sendEmail(email, "Ваше расписание на новый учебный год", schedule); } }); }function sendSchedule() {
⚠️ Внимание: В Google Sheets некоторые формулы массива из Excel не работают. ЗаменитеСЧЁТЕСЛИМНнаCOUNTIFS, аЕСЛИОШИБКАнаIFERROR.
FAQ: Частые вопросы по составлению расписания в Excel
❓ Как учесть «окна» для учителей, если они ведут в разных классах?
Создайте отдельный лист Учителя_Расписание, где в строках будут ФИО преподавателей, а в столбцах — дни и номера уроков. Используйте формулу:
=ЕСЛИ(И(Расписание!B2<>""; ПОИСК($A2; Расписание!B2)>0); "Занят"; "")
Эта таблица покажет все занятые слоты для каждого учителя, и вы сможете вручную скорректировать расписание, чтобы избежать «окон».
❓ Можно ли сделать расписание с чередованием недель (например, для 2–4 классов)?
Да, для этого:
- Создайте два отдельных листа:
Неделя1иНеделя2. - На листе
Итоговоеиспользуйте формулу:=ЕСЛИ($A1="Неделя1"; Неделя1!B2; Неделя2!B2)где
$A1— ячейка с указанием текущей недели. - Добавьте выпадающий список в
A1со значениями «Неделя1» и «Неделя2».
❓ Как экспортировать расписание в формат, который можно вставить на сайт школы?
Лучше всего использовать HTML-экспорт:
- Скопируйте диапазон расписания.
- Вставьте его в Google Sheets.
- Перейдите в
Файл → Опубликовать в сетии выберите форматHTML. - Скопируйте полученный код и вставьте на сайт через виджет
iframe.
Альтернатива: сохраните как PDF и загрузите на сайт как изображение.
❓ Какие есть бесплатные шаблоны расписания для Excel?
Готовые шаблоны можно скачать:
- 🔗 На сайте Microsoft Office Templates (поиск по запросу «school schedule»)
- 🔗 В Google Sheets (шаблонная галерея → «Расписание»)
- 🔗 На российских образовательных порталах (например, НСПортал)
При использовании шаблонов проверьте:
- 🔹 Соответствие количества уроков вашему учебному плану
- 🔹 Наличие формул для проверки ошибок
- 🔹 Возможность адаптации под вашу школу (количество классов, учителей)
❓ Как защитить расписание от случайных изменений?
Используйте защиту листа:
- Выделите ячейки, которые можно редактировать (например, только расписание уроков).
- Правая кнопка →
Формат ячеек → Защита→ снимите галочкуЗащищаемая ячейка. - Перейдите в
Рецензирование → Защитить листи установите пароль.
Для Google Sheets:
- Откройте
Данные → Защищённые листы и диапазоны. - Выберите диапазон для защиты и установите разрешения (например, только для редактирования определенным пользователям).