8/13/2015 Hacer un diagrama de Gantt en Excel
http://excelyvba.com/diagramadegantt/ 1/10
Diagrama de Gantt13 ENERO, 2014
PRESENTACIÓN - PRODUCTIVIDAD
El famoso diagrama de Gantt es una de las mejores aplicaciones gráficas a la hora de gestionar
una serie de tareas (por ejemplo en un proyecto) a lo largo del tiempo. Básicamente consta de
tres 2 datos fundamentales: duración de la tarea y fecha de comienzo de la tarea.
A continuación os mostramos un diagrama de Gantt que hemos construido en Excel:
Este diagrama se ha construido con las siguientes herramientas de Excel:
Fórmulas (funciones): SUMA, SI, Y, HOY, DIASEM
Otros: FORMATO CONDICIONAL
Para construir este Excel os vamos a mostrar los pasos necesarios que hay que dar y cual es la
lógica subyacente al cálculo de las barras.
Inicio
Este diagrama de Gantt en Excel no tiene nada de VBA por detrás para que sea mucho más fácil
de mantener y poder actualizar. Para dibujar las barras obtendremos un valor que nos indique
en qué situación se encuentra la celda respecto de los datos aportados de (duración, inicio, fin y
% de trabajo realizado).
Estructura
En la siguiente imagen podéis ver la estructura inicial de datos.
Nombre
¡Suscríbete!
ÉCHALE UN VISTAZO
LO MÁS LEÍDO
Tutorial de Tablas Dinámicas
Entrevista de trabajo con Excel
Formato condicional de una celda
dependiendo del valor de…
¿Para que sirve el símbolo $ en una fórmula?
Ejercicio de tablas dinámicas resuelto
Buscar …
Contacta-síguenos:
INICIO FUNCIONES Y EJEMPLOS TUTORIAL DE VBA EJERCICIOS DE EXCEL ANÁLISIS DE DATOS SOBRE MI
8/13/2015 Hacer un diagrama de Gantt en Excel
http://excelyvba.com/diagramadegantt/ 2/10
En la columna E hacemos lo siguiente: D + C (comienzo de la fase + duración = final de la fase)
En la columna D hemos referenciado algunas fechas a comienzos o finales de otras fechas.
En la fila 5 hemos escrito las fechas par poder hacer una línea de tiempo.
Crear lógica
Para crear la lógica para dibujar las líneas hemos pensado lo siguiente:
En cada fila (ejemplo para la fila 9 Fase 1) hemos decidido dar un valor de 0, 1 ó 2 a cada celda en
función de la siguientes variables:
Fecha (fecha correspondiente a la columna de la celda) de la línea temporal (fila 5),
Duración de la fase
Comienzo de la fase
Final de la fase
% Cumplimiento (se supone que puedes ir calculando el grado de avance)
La lógica que hemos usado es:
Lógica 0: Si la fecha se encuentra fuera del comienzo y el final de la fase daremos el valor
de 0
Lógica 1: Si la fecha se encuentra entre el comienzo y el final de la fase daremos el valor
de 1
Lógica 2: Si la fecha se encuentre entre el comienzo de la fase y la fecha de avance
daremos el valor de 2. (La fecha de avance se calcula como Fecha de Inicio+Duración
Fase*%Cumplimento)
Para poder hacer estos cálculos tenemos que hacer una función anidada un poco compleja que
hace esto:
=SI( lógica 2; 2; SI( lógica 1; 1; 0) )
En un lenguaje humano esta lógica sería:
=SI( fecha>=inicio y fecha<=fecha avance entonces =2;SI(fecha>=inicio y fecha
Que tampoco es super fácil de entender pero algo más…
8/13/2015 Hacer un diagrama de Gantt en Excel
http://excelyvba.com/diagramadegantt/ 3/10
Traducido a un lenguaje de Excel
En el fondo esto es tan sencillo como anidar 2 funciones SI. En rojo hemos pintado la lógica 2 y
en azúl hemos pintado la lógica 1 y hemos quitado los símbolos de $ (símbolo para fijar celdas a
una columna y/o fila) para su mayor comprensión.
Una vez creada esta lógica el ejercicio quedaría así:
Como podemos ver en la imagen anterior, hemos creado una matriz con los valores 0, 1 y 2. Al
modificar los valores de la iquierda de fechas, duración o % Cumplimiento veremos como se van
cambiando las fórmulas.
Formato inicial
Lo primero que haremos será :
ajustar el tamaño de las columnas donde irán las barras del diagrama de Gantt,
luego aplicaremos formato a la fila de total,
después a la cabecera y al fondo de las filas superiores,
después ajustaremos el formato de fecha para que sea más legible y lo pondremos en
vertical para poder leerlo
reducimos el tamaño de la fila 6 para dejar un pequeño hueco
quitamos la rejilla o maya de (ver cómo)
ponemos borde superior e inferior a todas las filas en un gris muy clarito
Nuestro Excel quedaría de la siguiente manera:
Por ahora ya va quedando más decente pero hay que hacer lo más complicado y lo más
importante, crear nuestras barras del diagrama.
Formato Condicional
Mediante un formato condicional crearemos las barras del diagrama de Gantt. La lógica es la
siguiente:
SUSCRÍBETE A NUESTRO BOLETÍN
Nombre
¡Suscríbete!
123
<span<!<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC'con<!<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−DVFMTSC<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−> las<!<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−DVFMTSC<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−> referencias<!<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−DVFMTSC<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−> a<!<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−DVFMTSC<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−> celdas<!<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−DVFMTSC<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−<!<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−DVFMTSC<!‐‐DVFMTSC‐‐>−<!‐‐DVFMTSC‐‐>−>−> fijas=SI(Y(G$5>=$D9;G$5<$D9+$C9*$F9);2;SI(Y(G$5>=$D9;G$5<$E9);1;0))
8/13/2015 Hacer un diagrama de Gantt en Excel
http://excelyvba.com/diagramadegantt/ 4/10
Donde hay ceros que la fuente se ponga en blanco (para que no se vea el numerito) y en
el fondo de la celda nada.
Donde hay 1 que la celda se ponga de un color clarito (yo he usado azúl) y la fuente del
mismo color para que no sea vea.
Donde hay 2 que la celda se ponga de un color más oscuro (yo he usado azúl oscuro) y la
fuente del mismo color para que no sea vea el número.
Para añadir este formato condicional hacemos (deberemos tener elegido nuestro rango de
aplicación):
Pestaña Inicio >> Formato condicional >> Nueva regla >> Aplicar formato a celdas que
contengan
Una vez seleccionado elegimos la opción de que el valor de la celda sea igual a [ponemos
nuestro número] y formateamos:
Deberemos crear tres reglas para poder aplicar los formatos de colores y crear las barras.
El resultado será el siguiente:
8/13/2015 Hacer un diagrama de Gantt en Excel
http://excelyvba.com/diagramadegantt/ 5/10
Ya hemos hecho lo más difícil pero todavía se puede mejorar.
Mejoras de valor añadido
En la primera imagen de este artículo veíamos algunas mejoras que puede aportar un montón
de valor a nuestro gráfico de Gantt y que prácticamente no cuestan nada.
En la imagen anterior hay cuatro recuadros rojos que aportan las siguientes funcionalidades y
que describiremos sucintamente en este apartado:
Primer recuadro: Contiene una caja llamada “Intervalo”. Esto nos permite introducir un
número de días para las fechas de nuestro diagrama. Así, si queremos ver nuestro
diagrama en semanas escribiremos 7 o cada dos días escribiremos 2
Segundo recuadro: “Starting date” nos permite elegir en qué fecha queremos que
empiece nuestro línea temporal, es decir, la primera fecha del diagrama.
Recuadro horizontal: Simplemente es cambiar, el color de la barra para la barra de total.
Esto, parece una cosa sin importancia, pero facilita la lectura general.
Recuadro vertical: contiene dos elementos. Lo primero es que mediante un formato
condicional se señala la fecha del día en el que estamos. Esto se consigue sabiendo le
fecha del día de hoy mediante la función HOY() y un formato condicional asociado a la
fila de las fechas. Lo segundo es la marca divisoria que señala los lunes. Esta marca se
consigue de manera similar a la anterior pero con la función DIASEM.
Se pueden añadir muchas mejoras (no dudes en sugerir todo lo que se te ocurra e intentaremos
plasmarlo), mientras tanto os dejo en este link el archivo descargable para que puedas practicar
y ver cómo se han ido realizando todas las partes de este diagrama de Gantt.
Diagrama de gantt
OTROS USUARIOS TAMBIÉN LEYERON...
8/13/2015 Hacer un diagrama de Gantt en Excel
http://excelyvba.com/diagramadegantt/ 6/10
Escrito por Quique Arranz
Puedes ver su perfil en: http://es.linkedin.com/in/enriquearranz/
Quique es un fanático del Excel desde que empezó a trabajar con ello hace unos pocos años.
Adquirió su conocimiento a través de Google y de infinitas pruebas y más pruebas. Además,
Quique es un entusiasta de su familia (mujer e hijos), del deporte y de la cerveza... no dudes
en contactar con él para cualquier duda que tengas.
19 COMENTARIOS EN “DIAGRAMA DE GANTT”
Cristian M says:4 junio, 2015 at 2:05 pm
Estimado, excelente la planilla, he estado trabajando en ella y para aplicarla aun mas en
terreno, existe la posibilidad de poder colocar información adentro de las barras del
diagrama de gantt como por Ejemplo numeros
Responder
Quique Arranz says:5 junio, 2015 at 7:42 am
Hola Cristina,
la plantilla está hecha con fórmulas en cada celda… no veo cómo podríamos quitar ésas
celdas para poder poner otros números… lo siento. Quique
Responder
Daniel Silvano says:29 mayo, 2015 at 4:38 am
Hola:
me gustaria saber como puedo lograr un gant con varios procesos en una misma fila con un
Como conseguir una buenapresentación en Excel
Sombrear filas alternativasen Excel
Sombrear filas alternativasen Excel
Añadir una fórmula conVBA
Como hacer dos gráficos enuno en Excel
Crear un gráfico deslizante
8/13/2015 Hacer un diagrama de Gantt en Excel
http://excelyvba.com/diagramadegantt/ 7/10
inicio y fin dandole un color para cada proceso,
Responder
Quique says:29 mayo, 2015 at 10:42 am
En el diagrama que aquí os sugerimos no puede hacerse. lo siento daniel. saludos
Responder
ENRIQUE says:18 noviembre, 2014 at 11:19 pm
Hola amigo, necesito que el gantt que vaya a lo largo de varios días, espero nos puedas
ayudar.
Gracias !!!
Responder
Quique Arranz says:19 noviembre, 2014 at 9:58 am
Hola Enrique! Creo que el gantt que tienes en la ilustración va a lo largo de varios días.
¿A qué te refieres?
Responder
LISANDRO ADRIAN ALDANA NAJARRO says:28 abril, 2015 at 8:04 pm
Hola Quique:
Como haces para que en el Cronograma del Gantt, cuando tu modificas el intervalo
de 1 a 2 o a 5, este calendario se comprima según el intervalo seleccionado o se
amplie.
Yo lo hago pero solo me suma el intervalo nada más a las fechas.
Saludos
Responder
excelyvb says:29 abril, 2015 at 1:55 pm
Hola Lisandro!
Si te refieres a las fechas, estas van siempre en función de la fecha de la celda
anterior más el intervalo.
Si te refieres a las barras de tarea es un poco más complejo. Las fórmulas son
condicionales y están ligadas a la fecha de comienzo de la tarea y la fecha de la
columna. Si se verifican las condiciones entonces devuelve un número… Dicho
número está relacionando con el formato condicional.
Espero haber resuelto tus dudas.
Un saludo y gracias por visitar la web!
8/13/2015 Hacer un diagrama de Gantt en Excel
http://excelyvba.com/diagramadegantt/ 8/10
Responder
eliana says:30 septiembre, 2014 at 8:28 pm
Me podrias decir como se construye un grafico gantt pero por horas? porque no encuentro
por ningun lado una explicacion, todos estan por fechas :S
Responder
Quique Arranz says:1 octubre, 2014 at 9:32 am
Hola Eliana,
Hacer el diagrama de Gantt con horas no debería ser mucho más difícil. El resumen de
todo esto es que estamos comparando números. Para hacerlo según el ejemplo que
tienes debes hacer pequeñas modificaciones para que lo que se muestre son horas.
Puedes hacerlo como números naturales. ¿Quieres hacerlo para un sólo día o quieres
que vaya a lo largo de varios días?
Responder
Javier PSM says:7 agosto, 2014 at 2:59 pm
La explicación de como hacer un diagrama de Gantt es spectacular, pero te tengo una
pregunta, como puedo hacer para que el diagrama no tome en cuenta sábados, domingos y
feriados. En una de tus respuestas veo que mencionas la function DIAS.LAB, agradecería me
puedas explicar major esa parte.
Espero me puedas ayudar por que estoy en un proyecto muy importante y urgente.
Quedo a la espera de tu respuesta.
Saludos.
Atentamente,
Javier PSM.
Responder
Quique Arranz says:8 agosto, 2014 at 9:48 pm
Hola Javier,
Muchas gracias por tú animoso comentario. Estas cosas nos ayudan a continuar
dedicándole tiempo a la web para seguir mejorando.
La función que menciones es muy sencilla. DIAS.LAB cuenta el número de días que hay
entre dos fechas excluyendo los fines de semana (sábados y domingos) además de los
días de un listado (es opcional) que sean los que tampoco haya que considerar. El lunes
intentaré sacar un post sobre esta función.
Un saludo!
Quique
Responder
Javier PSM says:13 agosto, 2014 at 2:25 pm
Muchísimas gracias por tu ayuda Quique. Me ha sido de mucha utilidad la
información.
8/13/2015 Hacer un diagrama de Gantt en Excel
http://excelyvba.com/diagramadegantt/ 9/10
Saludos,
Javier.
Responder
Quique Arranz says:12 agosto, 2014 at 8:10 pm
Hola Javier,
puedes ver una ayuda de la función en el siguiente enlace:
http://www.excelyvba.com/funcion-dias-lab/
Espero que te sirva.
Un saludo!
Quique
Responder
Angela says:6 junio, 2014 at 3:27 pm
Excelente Ayuda, como puedo agregarle mas filas para más grupos y que sigan las mismas
formulas?
Responder
Quique Arranz says:8 junio, 2014 at 9:46 pm
Copiando y pegando la última fila al final? Gracias por el comentario! Si pruebas, dime si
te ayudó please!
Responder
Quique Arranz says:8 junio, 2014 at 9:46 pm
Supongo que copiando una fila y pegándola al final! Gracias por el comentario. Dime si te
ayudó please!
Responder
Ignacio Menaya says:11 marzo, 2014 at 11:49 am
Sería interesante a la hora de trabajar con este tipo de diagramas que sólo contabilizase los
días laborables cuando se cuentan los días que llevan una tarea. Y ya, para que sea una obra
maestra, que puedas incluso establecer un calendario de días laborables para incluir los
festivos.
Responder
Quique Arranz says:18 marzo, 2014 at 3:32 pm
Podría hacerse… simplemente tendríamos que evitar los fines de semana o días fuera de
calendario y utilizar la función DIAS.LAB
8/13/2015 Hacer un diagrama de Gantt en Excel
http://excelyvba.com/diagramadegantt/ 10/10
Responder
Espera, ¿tienes dudas?, ¿te gustó?... entonces deja un comentario.
¡¡Tú email nunca será publicado.!!
Nombre *
Email *
Comentario
Comenta, es gratis :)
Sí, quiero recibir las Newsletter semanales.
Recibir un email con los siguientes comentarios a esta entrada.
Recibir un email con cada nueva entrada.
Otras webs de la red:
Aprender PowerPoint - Mi boda con Verderón
© www.ExcelyVBA.com -2015
Top Related