Построим сетевую диаграмму проекта на диаграмме 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-х частей:
=ЕСЛИОШИБКА(ИНДЕКС($A$22:$A$29;НАИБОЛЬШИЙ(ЕСЛИ($A23=$F$22:$H$29;СТРОКА($F$22:$F$29)-СТРОКА($F$21);"");L$20));"")
Сначала, для каждой работы определим, для каких работ она является последователем. Это реализовано с помощью функции ЕСЛИ() : если работа является чьим-то последователем, то возвращается код работы-предшественника (совпадающий с номером позиции работы). В противном случае возвращается значение Пустой текст "" .
Функция НАИБОЛЬШИЙ() сортирует массив вида {"";"";"":"";"";"":"";"";"":"";"";"":"";5;"":6;"";"":"";"";"":"";"";""} и выводит 3 наибольших значения , т.е. сначала числа, а затем значения Пустой текст "" (если последователей менее 3).
Функция ИНДЕКС() выводит коды работ-предшественников по номеру позиции. Функция ЕСЛИОШИБКА() , которая появилась в MS EXCEL 2007 , заменяет ошибки #ЧИСЛО! на значение Пустой текст "", которое очень удобно, т.к. ячейка выглядит при этом пустой.
При задании последователей (см. желтые ячейки) необходимо отслеживать, чтобы количество предшественников у каждой работы было не больше 3-х (см. столбец J).
Алгоритм вычисления путей следующий:
В файле примера максимальная длина пути от вехи Start до вехи Finish должна быть не более 5 (включая эти вехи). Под длиной пути понимается последовательность работ, например: Start - А - D - G - Finish. При необходимости нужно увеличить количество шагов, чтобы получить возможность вычислять более длительные пути. В столбце N с помощью Условного форматирования создан индикатор, который показывает завершение вычисления путей на определенном шаге.
Сначала на диаграмме построим точки, представляющие собой работы.
Чтобы каждой точке присвоить надпись с названием работы нужно написать макрос или иметь MS EXCEL 2013 или последующую версию программы (см. статью Подписи для точечной диаграммы в MS EXCEL ). В файле примера также имеется макрос для присвоения надписей (также см. статью Ориентированный граф на диаграмме MS EXCEL ).
Чтобы создать пути (максимум 10) нам потребуется создать 10 рядов данных. Часть из этих рядов будет содержать значения #Н/Д, т.к. число путей может быть меньше 10.
В результате получим вот такую диаграмму, в которой 4 пути:
Предположим, что при планировании проекта выяснилось, что между работами F и G имеется связь (взаимосвязь работ в файле примера только Финиш-Старт, т.е. начало следующей работы после окончания предыдущей). Добавив эту связь в ячейку D28 , диаграмма автоматически обновится.
Как видно из диаграммы - также увеличилось число путей: с 4 до 5.
© Copyright 2013 - 2024 Excel2.ru. All Rights Reserved
Комментарии