Диаграмма Ганта в Excel: два способа построения и готовый шаблон
Подготовка: какие колонки нужны в любом случае
Обоим способам нужна одна исходная таблица из трёх колонок: задача,
дата начала и длительность в днях. Дату
окончания не вводите руками, считайте формулой
=Начало+Длительность-1 — тогда при правке длительности она
пересчитается сама. Минус единица здесь потому, что день старта — уже первый
день работы.
=РАБДЕНЬ(Начало;Длительность-1;Праздники), где «Праздники» —
диапазон с датами на отдельном листе. Смешивать два вида в одной таблице
нельзя: часть сроков тогда врёт, и непонятно какая.
| Задача | Начало | Длительность, дн. | Окончание |
|---|---|---|---|
| Разработка документации | 01.10.2026 | 20 | 20.10.2026 |
| Изготовление оборудования | 21.10.2026 | 45 | 04.12.2026 |
| Поставка на объект | 05.12.2026 | 10 | 14.12.2026 |
| Монтаж | 15.12.2026 | 25 | 08.01.2027 |
Начало следующей задачи разумно ставить формулой от окончания предыдущей —
=D2+1. Не обязательно, но от этой привычки зависит, придётся ли
потом вручную двигать десять строк или хватит поправить одну.
Способ 1. Линейчатая диаграмма с накоплением
Классический вид диаграммы Ганта — горизонтальные полоски — Excel не строит напрямую. Его получают приёмом: берут линейчатую диаграмму с накоплением и делают первую серию (дату начала) невидимой, так что видна остаётся только вторая серия — сама полоска длительности.
1. Выделите три колонки
Выделите «Задача», «Начало» и «Длительность» с заголовками — колонку «Окончание» в выделение не включайте, диаграмме она не нужна.
2. Вставьте диаграмму
Вкладка «Вставка» → «Вставить гистограмму или линейчатую диаграмму» → в разделе «Линейчатая» выберите «Линейчатая с накоплением». Excel построит для каждой задачи две серии подряд: первая — от нуля до даты начала, вторая — сама длительность.
3. Сделайте первую серию прозрачной
Кликните по любому сегменту первой серии (ближе к вертикальной оси) — выделится весь ряд «Начало». Правой кнопкой → «Формат ряда данных» → «Заливка» → «Без заливки», контур тоже уберите. Полоски исчезнут визуально, но продолжат сдвигать вторую серию — в этом весь трюк.
4. Разверните ось категорий
По умолчанию первая задача из таблицы окажется внизу диаграммы. Кликните по вертикальной оси с названиями задач → «Формат оси» → включите «Обратный порядок категорий». Горизонтальная ось с датами после этого перескочит наверх — верните её вниз тем же диалогом: «Пересечение с осью» → «В максимальной категории».
5. Настройте ось дат
Кликните по горизонтальной оси → «Формат оси». В полях «Минимум» и «Максимум» задайте границы проекта, иначе Excel подберёт их сам, с лишним запасом. Вводить туда нужно не дату, а её число: ось здесь числовая и человеческую «01.10.2026» не примет. Число подсмотрите так — скопируйте дату в свободную ячейку и поставьте ей формат «Общий»: 01.10.2026 превратится в 46296. В поле «Основные деления» поставьте 7, тогда подписи пойдут по неделям и ось не превратится в частокол.
Легенду лучше удалить — выделите её и нажмите Delete. Цвет полосок можно перекрасить по типу работ, выделяя отдельные сегменты.
Способ 2. Условное форматирование ячеек
Второй способ строит не диаграмму, а календарную сетку: колонка — день, закрашенная ячейка на пересечении со строкой задачи — день, когда эта задача идёт. Точнее по датам и не требует возни с осями.
1. Разверните даты в шапку таблицы
Правее таблицы «Задача / Начало / Окончание» разверните календарь: в первую
ячейку шапки впишите дату начала проекта, в следующую — формулу
=предыдущая_ячейка+1 и протяните вправо до даты окончания
проекта. Формат — «ДД» или «ДД.MM», колонки сузьте до 2–3 символов.
2. Выделите область под сеткой
Выделите прямоугольник, где будут закрашиваться дни: от первой задачи
в первый день до последней задачи в последний. Для нашего примера из четырёх
задач с 1 октября по 8 января это сто дней — E2:CZ5, если
календарь начинается в колонке E, а задачи стоят в строках 2–5. Сетка растёт
вправо вместе с проектом: на годовой график уйдёт больше трёхсот колонок.
3. Создайте правило по формуле
«Главная» → «Условное форматирование» → «Создать правило» → «Использовать формулу для определения форматируемых ячеек». Формула — для верхней левой ячейки диапазона, дальше Excel применит её ко всем остальным сам:
Формула — =И(E$1>=$B2;E$1<=$D2). Здесь E$1 —
дата в шапке календаря, $B2 — начало задачи, $D2 —
её окончание. Колонки из таблицы подготовки: B — начало, C — длительность,
D — окончание. Если ваша таблица устроена иначе, подставьте свои буквы —
главное, чтобы вторая ссылка вела на дату окончания, а не на число дней.
E$1), у границ задачи — колонка ($B2,
$D2). Так одна формула работает для всего прямоугольника:
при движении вправо меняется дата, при движении вниз — задача. Перепутаете
местами — правило закрасит целиком столбец или строку, и будет непонятно,
почему. Вторая частая ошибка — сослаться на колонку длительности: сравнение
даты с числом 20 не выполнится никогда, и сетка останется пустой.
4. Задайте заливку
Кнопка «Формат» → вкладка «Заливка» → выберите цвет → ОК → ОК. Excel сразу закрасит все ячейки, где дата попадает в диапазон задачи.
5. Добавьте выходные вторым правилом (не обязательно)
Формула =ДЕНЬНЕД(E$1;2)>5 с серой заливкой покажет субботы
и воскресенья. Важен порядок: в диспетчере правил это правило должно стоять
ниже правила с полосами. При совпадении условий побеждает
верхнее, поэтому серый останется только там, где задачи нет. Поставите выше —
выходные «съедят» полосы.
Закрепите область («Вид» → «Закрепить области») на первой дате и первой строке задачи — при прокрутке вправо шапка и названия задач останутся на месте.
Какой способ выбрать
Оба способа решают задачу «показать график наглядно». Разница — в том, что удобнее для конкретной цели.
| Критерий | Линейчатая диаграмма | Условное форматирование |
|---|---|---|
| Похоже на привычный график Ганта | Да, классический вид | Скорее календарь-раскраска |
| Видна точная дата на глаз | Только по недельным делениям | Да, каждый день — отдельная ячейка |
| Порог входа | Нужно освоить формат осей | Нужна одна формула с $ |
| Комфортное число задач | Десятки строк, дальше подписи сливаются | По строкам ограничений нет, но сетка растёт вширь с длиной проекта |
| Показать статус («просрочено») | Нужна ещё одна серия | Ещё одно правило с СЕГОДНЯ() |
| Приложить к договору | Как наглядная иллюстрация | Скорее для внутреннего контроля по дням |
Для заказчика — линейчатая диаграмма, её вид всем привычен. Для себя, по дням и сменам, — условное форматирование. Оба способа строятся из одной исходной таблицы, держать можно сразу два.
Отдельно про договор: приложением обычно идёт не картинка, а таблица по установленной форме — у графика производства работ она задана приказом Минстроя № 336/пр. Диаграмма к ней прикладывается как иллюстрация, заменить её собой она не может.
Шаблон Excel — скачать
Чтобы не собирать всё руками, возьмите готовый файл. В нём сделано то, что описано выше вторым способом, плюс то, до чего обычно не доходят руки: цепочка задач, рабочие дни и отметка сегодняшнего дня.
Менять нужно четыре колонки: название задачи, длительность в рабочих днях, номер предшественника и процент выполнения. Начало и окончание считаются сами, пустые строки молчат, пока в них не появится название. Лист «Праздники» — тот самый список, который придётся обновлять раз в год.
Если нужен не наглядный график, а документ в приложение к договору, — это другая форма и другой файл: график производства работ по приказу 336/пр, там же шаблон с графиком оплаты.
Где Excel ломается
Оба способа рабочие и бесплатные. Но у таблицы есть четыре предела, о которых честнее сказать заранее, чем обнаружить их на объекте.
Пересчёт дат при сдвиге
Если даты в таблице — текст, а не формулы от предыдущей задачи, сдвиг одного этапа означает ручную правку всех следующих строк и перерисовку диаграммы или сетки. Цепочка «начало = окончание предыдущей + 1» спасает, только если построена с самого начала; пересобирать её на полпути — отдельная работа.
Зависимости между задачами
Excel не знает понятия «эта задача не начнётся, пока не закончена та».
Простую последовательность формула имитирует: =D2+1 — начало
от окончания предыдущей. Задача, которая ждёт сразу двух предшественников,
тоже решается — =МАКС(D2;D5)+1, то есть «на следующий день после
того, кто закончится позже». В шаблоне выше это сделано через
РАБДЕНЬ, чтобы старт не попал на выходной.
Дальше начинается ручная работа. Связи «начало — начало», нахлёст на несколько дней, задержка на технологический перерыв — всё это придётся собирать арифметикой в каждой строке и помнить при любой правке. Главное же отличие в другом: в Excel зависимость существует, только пока вы о ней помните. Удалили строку — формула-ссылка сломается молча, и график останется правдоподобным на вид.
Производственный календарь
Формула ЧИСТРАБДНИ знает только субботы и воскресенья,
праздники — нет. Список праздников передаётся отдельным диапазоном третьим
аргументом, и его приходится обновлять руками каждый год,
когда выходят новые переносы выходных. Забыли обновить лист «Праздники» —
график молча считает неверно.
Связь с деньгами
График работ и график оплаты в Excel — два листа, связанные только вашим вниманием. На вопрос «в какой день мы уйдём в минус» таблица сама не отвечает — нужна третья таблица, которую тоже придётся пересобирать при каждом сдвиге сроков.
Вердикт честный: пять-семь этапов без сложных зависимостей и без помесячного денежного потока — оставайтесь в Excel, шаблон выше закроет задачу полностью. Если сроки двигаются часто, а за графиком стоят авансы и платежи по этапам, ручной пересчёт рано или поздно станет дороже самого проекта.
Как тот же проект выглядит, когда связи и платежи считает не человек, а инструмент, — ниже. Полосу можно двигать: монтаж и оплаты поедут следом.
Занесите этапы один раз — даты пересчитаются по производственному календарю РФ и по цепочке зависимостей, а платежи покажут денежный поток без отдельной таблицы.
Открыть демо без регистрацииВопросы и ответы
Как быстрее всего сделать диаграмму Ганта в Excel?
Способ 1: линейчатая диаграмма с накоплением, первая серия без заливки. На таблицу из десяти строк уходит 10–15 минут вместе с настройкой осей.
Можно ли построить диаграмму по датам начала и окончания, а не по длительности?
Да. Посчитайте длительность формулой =Окончание-Начало+1
и используйте её как вторую серию — диаграмма строится так же, как
в способе 1.
Как Excel учитывает праздники при расчёте сроков?
Формула ЧИСТРАБДНИ сама по себе знает только субботы
и воскресенья. Праздники нужно передать третьим аргументом — диапазоном
дат на отдельном листе, и этот список обновлять руками каждый год.
Как показать на графике просроченные задачи?
В способе с условным форматированием добавьте ещё одно правило:
закрасить ячейку, если дата меньше СЕГОДНЯ(), а задача ещё
не отмечена выполненной. В линейчатой диаграмме для этого нужна отдельная
серия с условием.
Что делать, если график перестал пересчитываться при сдвиге сроков?
Скорее всего, где-то в цепочке даты вбиты как текст, а не выведены формулой от предыдущей задачи. Проверьте по строкам; если задач и связей много, дешевле перенести график в инструмент со встроенным пересчётом по зависимостям.
Что почитать дальше
- График производства работ: образец и форма по 336/пр — что прикладывают к договору вместо картинки.
- Диаграмма Ганта: что это и как построить — база про сам инструмент.
- Сколько рабочих дней между датами — расчёт без ловушек производственного календаря.