Diagrama de GANTT con Ruta Crítica (CPM) 2/4

Diagrama de GANTT con Ruta Crítica (CPM) 2/4

Calcula la ruta crítica de un proceso para poder graficar la información automáticamente

Continuamos con la construcción de un diagrama de Gantt con cálculo de la ruta crítica (CPM) en Excel. En la primera parte calculamos el early start, es decir, el momento más temprano en el que cada tarea puede empezar, apoyándonos en los predecesores (qué tareas deben completarse antes). En esta segunda entrega damos un paso previo imprescindible para poder calcular después los puntos de finalización: averiguar, para cada tarea, cuáles son sus tareas sucesoras. Para lograrlo combinamos varias funciones de Excel hasta obtener exactamente el resultado que necesitamos.

Qué queremos conseguir

La tabla con la que trabajamos ya incluye, para cada tarea, su lista de predecesores. Lo que nos falta es el camino inverso: saber qué tareas siguen a cada una.

  • Si una tarea aparece como predecesora de otra, esa otra es su sucesora. Por ejemplo, si la tarea A es predecesora de B, entonces el sucesor de A es B.
  • Una misma tarea puede tener varias sucesoras. Por ejemplo, si G figura como predecesora de dos tareas (H e I), sus sucesoras serán ambas.

Calcular esto de forma automática nos prepara el terreno para el siguiente vídeo, donde obtendremos el early finish y el late finish.

Paso 1: localizar la tarea con ENCONTRAR

La función ENCONTRAR puede devolver una matriz, igual que ocurría con CONTAR en la parte anterior. La idea es buscar la tarea actual dentro de la columna de predecesoras:

  • Le indicamos el texto buscado (la tarea de ejemplo).
  • Le indicamos dónde buscar (el rango de predecesoras).

El resultado es una matriz: donde encuentra la tarea devuelve un número (la posición), y donde no la encuentra devuelve un error.

Paso 2: convertir el resultado en ceros y unos

Como después vamos a usar FILTRAR, necesitamos una matriz limpia de verdadero/falso. Para ello preguntamos si el resultado anterior es un número:

  • Hacemos referencia a la celda con la matriz usando la almohadilla (#) para apuntar al rango derramado.
  • Si es un número, devuelve VERDADERO; si no, FALSO.

Así obtenemos la matriz que servirá de criterio de filtrado.

Paso 3: filtrar las tareas relacionadas

Con esa matriz ya podemos usar FILTRAR. Tomamos la columna de actividades y aplicamos como criterio la matriz de verdadero/falso recién creada. El resultado es la lista de tareas que siguen a la seleccionada:

  • Si elegimos una tarea con una sola sucesora, FILTRAR devuelve esa tarea.
  • Si elegimos G, devuelve H e I, las dos tareas que la suceden.

Cambiando la tarea de referencia, el cálculo se actualiza automáticamente.

Paso 4: transponer el resultado

Como FILTRAR devuelve los resultados en columna, los pasamos a fila con TRANSPONER, que invierte la orientación de la matriz: lo que estaba en columnas pasa a estar en filas. De este modo las tareas sucesoras quedan en horizontal.

Paso 5: unir con & y dar formato

Para mostrar todas las sucesoras en una sola celda, concatenamos la fila transpuesta con el operador &. Así, en el caso de G, obtenemos H e I juntas.

Para que quede más legible podemos añadir un separador. La propia función FILTRAR admite añadir un espacio al final de los valores que devuelve, de modo que las tareas aparezcan separadas por espacios.

La fórmula completa

Una vez entendidos los cinco pasos por separado, los integramos en una sola fórmula que se aplica a todas las filas con una única referencia. El orden de operaciones dentro de esa fórmula es:

  1. ENCONTRAR la actividad dentro de las predecesoras.
  2. Convertir ese resultado en número para usarlo como filtro.
  3. FILTRAR las actividades con esa matriz.
  4. TRANSPONER el resultado.
  5. Unir con & para mostrar las sucesoras de cada tarea.

El resultado: para cada fila, la lista de tareas que la suceden. Este dato es fundamental para lo que viene después.

Conclusión

Con este proceso paso a paso hemos resuelto cómo identificar las tareas sucesoras combinando ENCONTRAR, FILTRAR, TRANSPONER y el operador &. Ninguna función es especialmente difícil por sí sola; la dificultad está en encadenarlas correctamente. Por eso conviene seguir el desglose por partes: así podrás adaptarlo a tus propias necesidades. En el siguiente vídeo (3 de 4) usaremos esta columna de sucesoras para calcular el early finish y el late finish, los momentos en los que cada tarea puede terminar sin afectar al plazo global del proyecto.

Más contenido de Excel en InflueXcel