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,
FILTRARdevuelve 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:
ENCONTRARla actividad dentro de las predecesoras.- Convertir ese resultado en número para usarlo como filtro.
FILTRARlas actividades con esa matriz.TRANSPONERel resultado.- Unir con
¶ 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
- Conciliaciones en Excel con Copilot: Lo ponemos a prueba TutorialConciliaciones en Excel con Copilot: pongo a prueba la aptitud (skill) de conciliación que Copilot trae encendida de serie, con tres casos d
- Tablas en Excel: 5 problemas, 5 soluciones TutorialLos 5 problemas que más veo al trabajar con tablas en Excel y cómo resolverlos: arrastras una fórmula y salen ceros, el acumulado deja de cu
- Un gráfico que crece solo a partir de un PIVOTARPOR, sin DESREF (y sin depender del orden alfabético) CasoLuis lleva el control de unas certificaciones en una tabla: cada cliente tiene un aliado asignado (o ninguno todavía) y un estado, que puede
- Nueva skill Get-Data de Copilot en Excel: Power Query con IA, pruebas reales TutorialCopilot en Excel ya hace consultas de Power Query: Microsoft acaba de estrenar la skill Get-Data. La pongo a prueba en directo con tres caso
- Calendario de varios años en una sola fórmula: una tira por mes, una fila por año y el nombre de cada día CasoTodo empezó con una pregunta sobre formato condicional: ¿es mejor una regla para todo el rango o una regla por tabla? Para probarlo, Miki mo
- 5 errores de los canvas interactivos de Copilot en Excel (y cómo evitarlos) TutorialLos canvas interactivos de Copilot en Excel montan un dashboard con una sola frase. Funcionan, pero hay cinco errores que se repiten y casi
- Listas desplegables en cascada de n niveles con una sola validación y filas independientes CasoJuan planteó un reto que muchos hemos sufrido: un formulario en forma de rejilla con listas desplegables en cascada. Al elegir la familia en
- Interactive Canvas en Excel: dashboards interactivos con Copilot (Gantt, Sankey y más) TutorialInteractive Canvas es la nueva función de Copilot en Excel que crea dashboards interactivos dentro de tu libro con una sola frase: desde una
- Tres formas de obtener nombres de columnas específicas de una tabla CasoEsta semana surgió una duda sobre cómo devolver dinámicamente los nombres de columnas específicas de una tabla (por ejemplo, las columnas 1,
- Influcharla: tablas dinámicas, scan secuencial y datos agrupados TutorialJohn Vergara nos acompaña en esta fantástica sesión repasando algunos de los casos más interesantes vistos durante el mes