Автоматическая сетевая диаграмма проекта с критическим путем в EXCEL
Построим автоматическую сетевую диаграмму проекта. Сетевую диаграмму изобразим на диаграмме MS EXCEL типа Точечная. На этой диаграмме выведем работы проекта в виде точек, стрелками изобразим связи между работами. Также изобразим на диаграмме критический(ие) путь(и). Сетевая диаграмма будет автоматически перестраиваться при изменении связей между работами и их длительности.
Данная статья является третьей статьей в цикле статей посвященных построению сетевой диаграммы проекта и является синтезом первых двух:
- В статье Метод критического пути в MS EXCEL показано как рассчитать длительность проекта, определить работы на критическом пути и как построить сетевую диаграмму проекта на листе MS EXCEL. Основной недостаток — при изменении связей между работами пользователю потребуется вносить серьезное изменение в сетевую диаграмму.
- В статье Автоматическая сетевая диаграмма проекта в MS EXCEL показано, как имея перечень работ и связи между ними, вычислить все пути проекта и отобразить их на стандартной диаграмме типа Точечная. При изменении связей — пути автоматически пересчитываются. Однако, критический путь не вычислялся в этой статье.
Рекомендуется прочитать вышеуказанные статьи перед первым прочтением.
Ниже показана диаграмма, которую мы будем создавать в этой статье. На диаграмме отображены все работы проекта (от А до U, синие точки), связи между ними (стрелки), работы на критическом пути (красные точки), критический путь (красные стрелки).
Примечание : Слово диаграмма используется в 2-х смыслах: сетевая диаграмма проекта (стандартный термин из управления проектом, Activity-on-node diagram ) и диаграмма MS EXCEL ( Excel Chart , см. вкладку Вставка , группа Диаграммы ). Диаграмма MS EXCEL типа Точечная будет использоваться для построения сетевой диаграммы проекта.
При изменении связей между работами и/или их длительности происходит перерасчет критического пути и сетевая диаграмма автоматически обновляется. Например, значительное увеличение длительности работы М (в нижнем пути сетевой диаграммы) приведет к изменению критического пути.
Такая сетевая диаграмма отображает критический путь даже нагляднее, чем стандартная диаграмма Ганта , хотя, конечно, не заменяет ее.
ВНИМАНИЕ! Построение данной сетевой диаграммы в этой статье приведено лишь с целью демонстрации технической реализуемости такого построения в MS EXCEL. Не ставилось целью сделать «удобную программу для пользователей». Это означает, что при изменении пользователем количества работ/ добавления связей между работами (например, использования более 5 последователей), переименовании листов, рядов диаграммы и других изменений, в файле примера может потребоваться дополнительная настройка формул. Такая настройка потребует от пользователя серьезных знаний MS EXCEL и времени.
Исходная информация
В качестве исходной информации дан перечень работ, их длительность и связи между работами.
Также вручную задаются координаты для отображения на диаграмме работ (диапазон ВА12:ВВ34 ).
Другой информации для построения сетевой диаграммы и вычисления критического пути не требуется.
Вычисление путей сетевой диаграммы
Как и в статье Автоматическая сетевая диаграмма проекта в MS EXCEL начнем построение сетевой диаграммы с вычисления путей. В отличие от указанной статьи, здесь увеличено количество рассчитываемых путей (до 15) и максимальная длина путей (до 10 работ, включая вехи начала и окончания). Алгоритм вычисления путей аналогичен, однако формулы изменены, чтобы позволить пользователю быстро увеличивать количество путей проекта и их длину.
На шаге №0 определяются последователи вехи Старт . Количество последователей определяет количество путей на этом шаге. Формулы в строках 81-95 работают только для этого шага и их не нужно копировать на другие шаги (поэтому они выделены красным).
Начиная с шага №1 (начиная со строки 96) формулы можно копировать вниз и вправо, чтобы при необходимости увеличить количество путей и их длину (количество шагов). На каждом шаге длина путей увеличиваются на одну работу. В случае наличия нескольких последователей у работы — увеличивается количество возможных путей.
После вычисления всех шагов, в диапазоне R62:AA76 выводится перечень всех путей проекта, содержащие входящие в них работы.
Построение сетевой диаграммы
Сначала на диаграмме выводятся работы (синие точки, ряд Работы ).
Затем выводятся все возможные пути проекта (ряды Путь_1, Путь_2, . Путь_15 ).
Все работы, находящиеся на критическом пути, отмечаются красным цветом. Также на диаграмму выводится критический путь. Если путей несколько, то выводятся все пути (в файле примера выводятся максимум 3 критических пути). Если длительность работы О увеличить до 8 дней, то 3 пути станут критическими с длительностью по 65 дней.
Одновременно, работы проекта отображаются на диаграмме Ганта.
Автоматическая сетевая диаграмма проекта в EXCEL
Построим сетевую диаграмму проекта на диаграмме MS EXCEL. Сетевая диаграмма будет автоматически перестраиваться при изменении связей между работами. Для этого нам потребуется автоматически определить все пути проекта (не только критические).
В статье Метод критического пути в MS EXCEL сетевая диаграмма проекта была построена на листе MS EXCEL.
К сожалению, при изменении связей между работами данную диаграмму необходимо перестраивать в ручную, что может быть достаточно трудоемко. Чтобы этого избежать, используем диаграмму типа Точечная (XY Scatter) , на которой точками обозначим работы, а стрелками — связи между работами.
СОВЕТ : Подробнее о построении диаграмм см. статью Основы построения диаграмм в MS EXCEL .
Постановка задачи
Предположим, что нам требуется отобразить связи проекта, состоящего из 7 работ (от А до G), также заданы вехи начала (Start) и окончания проекта (Finish).
Как видно из диаграммы, связи между работами заданы так, что существует 3 пути:
Изобразим на диаграмме типа Точечная эти работы и связи между ними.
Пусть между работами D и G требуется создать связь (выделено красным на диаграмме ниже).
Это приведет к тому, что число путей проекта увеличится с 3-х до 4-х: добавится путь Start-А-D-G-Finish.
Нам требуется, чтобы точечная диаграмма была автоматически перестроена и автоматически был произведен подсчет нового количества путей.
Эта статья о том как создать такую диаграмму (см. файл примера ). В дальнейшем, идеи этой статьи будут использованы для автоматического отображения на сетевой диаграмме критического (или критических) путей (см. статью Автоматическая сетевая диаграмма проекта с критическим путем в MS EXCEL ). Это удобно на этапе планирования проекта, когда уточняются связи между работами и длительности самих работ. В данной статье не используются длительности работ, а лишь связи между ними. Основной смысл статьи — показать как реализован автоматический подсчет путей и их отображение на диаграмме.
ВНИМАНИЕ! Построение данной сетевой диаграммы в этой статье приведено лишь с целью демонстрации технической реализуемости такого построения в MS EXCEL. Не ставилось целью сделать «удобную программу для пользователей». Это означает, что при изменении пользователем количества работ/ добавления связей между работами, переименовании листов, рядов диаграммы и других изменений в файле примера , может потребовать дополнительной настройки файла. Такая настройка от пользователя потребует серьезных знаний MS EXCEL и времени.
Задаем связи между работами
В отличие от подхода изложенного в статье Метод критического пути в MS EXCEL , где мы задавали для каждой работы ее предшественников, в этой статье зададим для каждой работы ее последователей.
В этой статье число последователей у каждой работы не может быть более 3. Последователей будем задавать с помощью выпадающего списка , содержащего наименования работ.
Также для каждой работы подсчитаем количество предшественников (работы-предшественники не потребуются для вычисления путей и построения диаграммы, поэтому при первом прочтении статьи можно переходить к следующему разделу).
Подсчет предшественников можно сделать с помощью формулы, которая состоит из 4-х частей:
Сначала, для каждой работы определим, для каких работ она является последователем. Это реализовано с помощью функции ЕСЛИ() : если работа является чьим-то последователем, то возвращается код работы-предшественника (совпадающий с номером позиции работы). В противном случае возвращается значение Пустой текст «» .
Функция ИНДЕКС() выводит коды работ-предшественников по номеру позиции. Функция ЕСЛИОШИБКА() , которая появилась в MS EXCEL 2007 , заменяет ошибки #ЧИСЛО! на значение Пустой текст «», которое очень удобно, т.к. ячейка выглядит при этом пустой.
При задании последователей (см. желтые ячейки) необходимо отслеживать, чтобы количество предшественников у каждой работы было не больше 3-х (см. столбец J).
Вычисление путей
Алгоритм вычисления путей следующий:
- Для вехи Start (код=1) определяются ее последователи, т.е. работы А, В и С, которые имеют коды соответственно 2, 3, 4 (см. шаг 0, строка 37), а также количество последователей у каждой из работ А, В и С. Кроме того, код вехи Start необходимо повторить в столбце В столько раз, сколько у нее последователей. На данном шаге количество путей равно 3, т.е. равно количеству последователей вехи Start;
- На следующем шаге определяются последователи работ А, В, С, т.е. работы D, E, F (коды 5, 6, 7). См. ячейку J53 . В соседнем столбце справа вычисляется количество последователей этих работ. Как видно из диаграммы выше, работа D имеет 2 последователя. Это приводит к тому, что количество путей проекта увеличивается до 4-х. Поэтому нужно обновить количество вех Start до 4-х (см. ячейку G53 ). Это можно сделать используя идеи из статьи Восстанавливаем последовательности из списка без повторов в MS EXCEL .
- Аналогично на следующих шагах определяются следующие работы-последователи и обновляется количество возможных путей проекта. По результатам каждого шага производится проверка достижения вехи Finish (код=9). Если все пути завершены, то в конце каждого пути должна быть веха Finish.
В файле примера максимальная длина пути от вехи Start до вехи Finish должна быть не более 5 (включая эти вехи). Под длиной пути понимается последовательность работ, например: Start — А — D — G — Finish. При необходимости нужно увеличить количество шагов, чтобы получить возможность вычислять более длительные пути. В столбце N с помощью Условного форматирования создан индикатор, который показывает завершение вычисления путей на определенном шаге.
Построение диаграммы
Сначала на диаграмме построим точки, представляющие собой работы.
Чтобы каждой точке присвоить надпись с названием работы нужно написать макрос или иметь MS EXCEL 2013 или последующую версию программы (см. статью Подписи для точечной диаграммы в MS EXCEL ). В файле примера также имеется макрос для присвоения надписей (также см. статью Ориентированный граф на диаграмме MS EXCEL ).
Чтобы создать пути (максимум 10) нам потребуется создать 10 рядов данных. Часть из этих рядов будет содержать значения #Н/Д, т.к. число путей может быть меньше 10.
В результате получим вот такую диаграмму, в которой 4 пути:
Предположим, что при планировании проекта выяснилось, что между работами F и G имеется связь (взаимосвязь работ в файле примера только Финиш-Старт, т.е. начало следующей работы после окончания предыдущей). Добавив эту связь в ячейку D28 , диаграмма автоматически обновится.
Как видно из диаграммы — также увеличилось число путей: с 4 до 5.