Como fazer um gráfico de Gantt no Excel (e seus limites)
O Excel não tem um tipo de gráfico de Gantt. Ele é montado com um truque: um gráfico de barras empilhadas em que a primeira série fica invisível. Funciona e leva dez minutos, mas tem um limite claro.
- Preparar os dados
- Inserir o gráfico de barras empilhadas
- Deixar a primeira série invisível
- Inverter a ordem
- Ajustar o eixo de datas
- Acabamento
- Um exemplo resolvido: seis tarefas, depois um atraso
- Mostrar o percentual de avanço na barra
- Precedências: o que dá para improvisar
- A alternativa sem gráfico: formatação condicional
- Onde a técnica termina
Preparar os dados
Monte quatro colunas numa planilha limpa: Tarefa (A), Início (B), Término (C) e Duração (D). Digite datas reais em B e C, com formato de data, e calcule a duração em D com =C2-B2, arrastando para baixo. O Excel guarda datas como números seriais, então essa subtração devolve um número puro de dias, exatamente o que o gráfico precisa receber.
Falta a quinta coluna, a que faz o truque funcionar: o deslocamento (E), quantos dias cada tarefa começa depois do início do projeto. Com a menor data de início travada em $B$2, use =B2-$B$2.
Formate as colunas de deslocamento e duração como Número (Página Inicial → grupo Número → Geral), nunca como data. É o passo que mais gente pula, e o sintoma é inconfundível: o gráfico nasce com barras enormes que vão de 1900 até hoje, porque o Excel leu "37 dias" como "6 de fevereiro de 1900".
Vale montar a tabela já na ordem em que as tarefas devem aparecer, porque reordenar depois obriga a mexer no intervalo de dados do gráfico. Cinco ou seis linhas bastam para validar o método antes de digitar o cronograma inteiro.
Uma advertência sobre fórmulas antes de seguir. Tudo o que aparece neste guia está escrito para o Excel em português do Brasil, que traduz os nomes das funções e usa ponto e vírgula como separador de argumentos. Se você copiar uma fórmula de um tutorial em inglês, =WORKDAY(B2,5), com vírgula, o Excel em pt-BR devolve erro de fórmula ou joga tudo numa célula só. A conversão é direta:
| Em inglês | Em português (pt-BR) | Para que serve aqui |
|---|---|---|
=WORKDAY(B2,5) | =DIATRABALHO(B2;5) | Somar dias úteis a uma data, pulando fim de semana |
=WORKDAY(B2,5,feriados) | =DIATRABALHO(B2;5;Feriados) | O mesmo, pulando também os feriados de um intervalo nomeado |
=NETWORKDAYS(B2,C2) | =DIATRABALHOTOTAL(B2;C2) | Contar dias úteis entre duas datas |
=WEEKDAY(E$1,2)>5 | =DIA.DA.SEMANA(E$1;2)>5 | Detectar sábado e domingo para sombrear a coluna |
=MAX(C2,C5) | =MÁXIMO(C2;C5) | Início de uma tarefa com duas predecessoras |
=AND(...) | =E(...) | Regra de formatação condicional com duas condições |
Duas ressalvas. Existem instalações em português que ainda usam vírgula como separador, porque o separador segue a configuração regional do Windows e não o idioma do Office; se a fórmula acusar erro, teste a outra pontuação antes de procurar bug em outro lugar. E o acento em MÁXIMO é obrigatório, o Excel em pt-BR não aceita MAXIMO.
Vale ainda montar uma aba Feriados com os feriados nacionais, o do seu estado e o do seu município, e nomear o intervalo. Sem ela, DIATRABALHO conta Carnaval, Corpus Christi e o padroeiro da cidade como dias normais de trabalho, e o cronograma nasce otimista em cinco a oito dias por ano.
Inserir o gráfico de barras empilhadas
Selecione a coluna Tarefa e, segurando Ctrl, também as colunas de deslocamento e duração, deixe as datas de fora, o gráfico não as usa. Depois vá em Inserir → Gráficos → Barras → Barras Empilhadas 2D.
O resultado inicial não parece um Gantt, e isso é esperado: você vê duas séries empilhadas por linha, todas começando no zero. Se o Excel interpretar mal o intervalo, clique com o botão direito no gráfico e use Selecionar Dados para conferir três coisas: a série 1 é o deslocamento, a série 2 é a duração, e os rótulos do eixo de categorias são os nomes das tarefas.
A ordem das séries importa de verdade. Se a duração ficar em primeiro lugar, todas as barras colam na margem esquerda e nenhuma formatação posterior conserta isso, é preciso voltar em Selecionar Dados e subir o deslocamento.
Deixar a primeira série invisível
É o movimento que transforma a coisa toda. Clique uma vez em qualquer segmento da série de deslocamento, um clique seleciona a série inteira, dois cliques selecionam um único ponto, , botão direito, Formatar Série de Dados, ícone do balde de tinta, e marque Preenchimento → Sem preenchimento.
Na mesma caixa, marque também Borda → Sem linha. Sem isso sobra o contorno do bloco invisível, e o cronograma fica com um retângulo fantasma antes de cada barra.
As barras de duração passam a flutuar, cada uma no dia em que a tarefa começa. A partir daqui já é um gráfico de Gantt; o que falta é arrumar a leitura.
Inverter a ordem
O Excel desenha a primeira linha da tabela embaixo, então o cronograma nasce de cabeça para baixo. Clique no eixo vertical (a lista de nomes de tarefa), botão direito, Formatar Eixo, e em Opções de Eixo marque Categorias em ordem inversa.
Na mesma caixa, mude O eixo horizontal cruza para Na categoria máxima. Sem esse segundo ajuste, a inversão joga o eixo de datas para o rodapé do gráfico e quem lê perde a referência de tempo logo na primeira olhada. Os dois andam juntos: um sem o outro sempre parece errado.
Ajustar o eixo de datas
Por padrão o eixo horizontal começa em zero, o cronograma fica espremido à direita e metade do gráfico sobra vazia. Clique no eixo horizontal, abra Formatar Eixo e defina os Limites: Mínimo igual ao número serial da data de início do projeto e Máximo igual ao da data de término.
Para descobrir esses números, digite a data numa célula vazia e formate como Geral: o valor exibido é o serial. Em seguida defina a Unidade Principal, 7 dá linhas de grade semanais, 14 quinzenais, 30 mensais, e aplique um formato de número de data ao próprio eixo, algo como dd/mm, para não terminar com seriais impressos no gráfico.
Cronogramas de vários meses ficam melhores com marcação semanal ou mensal; cronogramas de poucas semanas pedem unidade 1 e rótulos diários. Esse é o ajuste que mais muda a impressão de "gráfico profissional" versus "planilha improvisada".
Acabamento
Clique na série de duração e abra Formatar Série de Dados → Opções de Série. Reduza a Largura do Espaçamento para algo entre 20% e 50%: barras finas com muito ar em volta fazem o cronograma parecer vazio e desalinhado.
Colorir por fase, um tom por fase, variações do mesmo matiz dentro dela, é o que dá estrutura visual. Cores diferentes por tarefa fazem o oposto: viram ruído. Apague a legenda, que só nomeia "deslocamento" e "duração" e não interessa a ninguém, suavize as linhas de grade para um cinza claro e dê um título ao gráfico.
Marcos entram como uma série adicional de duração zero, formatada como Dispersão com marcador de losango, o que exige converter o gráfico em combinação (botão direito → Alterar Tipo de Gráfico de Série). Funciona, mas é o ponto em que a planilha começa a resistir: com muitos marcos, o esforço de manter a combinação cresce rápido.
Um exemplo resolvido: seis tarefas, depois um atraso
O método acima em cima de um cronograma de verdade, e depois em cima do mesmo cronograma depois que ele escorrega, que é onde a planilha mostra o que realmente é. O projeto: a troca do sistema de PDV da rede de farmácias Vidalonga, quatro lojas em Curitiba, coordenada pelo Márcio Balbinot. Início em seg 02/02/2026.
O plano como ele entra na planilha, colunas A a E, com o deslocamento calculado por =B2-$B$2 e a duração por =DIATRABALHOTOTAL(B2;C2;Feriados):
| A, Tarefa | B, Início | C, Término | D, Duração | E, Deslocamento |
|---|---|---|---|---|
| Levantamento de processos nas 4 lojas | seg 02/02 | seg 09/02 | 6 | 0 |
| Parametrização do sistema | ter 10/02 | ter 24/02 | 8 | 8 |
| Migração da base de produtos e preços | qua 25/02 | ter 03/03 | 5 | 23 |
| Treinamento das equipes de loja | qua 04/03 | seg 09/03 | 4 | 30 |
| Piloto na loja do Batel | ter 10/03 | qui 12/03 | 3 | 36 |
| Virada nas 4 lojas | sex 13/03 | seg 16/03 | 2 | 39 |
Repare no salto da parametrização: oito dias úteis que ocupam quinze dias de calendário. O Carnaval de 2026 cai em 16 e 17 de fevereiro, a Quarta-feira de Cinzas em 18/02 é meio expediente que na prática ninguém trabalha, e a rede simplesmente fecha o escritório central a semana toda. Se esses três dias não estiverem na aba Feriados, o DIATRABALHO devolve ter 19/02 como término e todo o resto do cronograma nasce três dias adiantado.
Agora o atraso. A migração da base encontra 2.400 SKUs sem código EAN cadastrado e sai de 5 para 9 dias úteis. A coluna B da tarefa seguinte referencia =C4+1, então a cascata funciona: treinamento, piloto e virada andam quatro dias úteis e a virada vai de seg 16/03 para sex 20/03.
| Tarefa | Plano | Depois do atraso | Desvio |
|---|---|---|---|
| Migração da base | ter 03/03 | seg 09/03 | +4 d |
| Treinamento das equipes | seg 09/03 | sex 13/03 | +4 d |
| Piloto na loja do Batel | qui 12/03 | qua 18/03 | +4 d |
| Virada nas 4 lojas | seg 16/03 | sex 20/03 | +4 d |
E aqui está o que o Excel não faz, e que custa caro. O eixo horizontal do gráfico foi configurado com Máximo igual ao número serial de 16/03, digitado à mão, como o método exige. A última barra agora termina em 20/03 e simplesmente sai pela borda direita, sem aviso nenhum. A planilha está certa, o gráfico está errado, e nada na tela sinaliza a diferença. Foi assim que o Márcio apresentou à diretoria um cronograma que mostrava a virada no dia 16 quando os dados já diziam 20, e a virada de PDV numa rede de farmácia é a semana em que ninguém tira férias, o que significa que quatro dias de deslocamento viraram uma renegociação de escala com o RH.
Duas lições práticas ficam desse exemplo. Primeira: sempre que uma data mudar, volte ao eixo horizontal e reconfira Mínimo e Máximo, é o passo de manutenção que ninguém documenta e todo mundo esquece. Segunda: a cascata por fórmula só sobrevive enquanto o cronograma for uma corrente única. Bastaria a virada depender também da homologação da NFC-e na Sefaz-PR para que =C4+1 virasse =MÁXIMO(C4;C9)+1, e a partir daí cada nova ligação é uma fórmula que só quem escreveu consegue auditar.
Mostrar o percentual de avanço na barra
Dá para exibir o avanço dentro da própria barra usando colunas auxiliares. Acrescente % Concluído (F) e duas colunas calculadas: Avanço com =D2*F2 e Restante com =D2-(D2*F2).
No gráfico, as séries passam a ser três, nesta ordem: deslocamento (invisível), avanço, restante. Pinte o avanço num tom escuro e o restante no mesmo matiz claro. O efeito é uma barra parcialmente preenchida, legível a distância, sem nenhum recurso extra do Excel.
O preço é manutenção. Cada tarefa nova exige estender o intervalo de dados do gráfico e reconferir a ordem das três séries, e é comum a formatação se perder no caminho, o Excel recoloca cores padrão quando o intervalo muda.
Precedências: o que dá para improvisar
O Excel não tem precedências. Não existe seta término-início, e mover uma tarefa não move nada do que vem depois. O improviso conhecido é apontar a data de início de cada tarefa para o término da anterior: se C2 guarda o término da tarefa 1, B3 recebe =C2, e uma alteração desce em cascata pela coluna.
Funciona enquanto o cronograma for uma corrente única. Quando uma tarefa tem duas predecessoras, é preciso =MÁXIMO(C2;C5). Quando existe retardo, soma-se um número. Quando o calendário é de dias úteis, entram DIATRABALHO e DIATRABALHOTOTAL.
Em vinte linhas isso já virou uma teia de fórmulas que só quem montou consegue auditar, e mesmo assim o gráfico continua sem uma única seta e sem qualquer indicação de caminho crítico. A informação está na planilha; ela simplesmente não aparece no desenho.
A alternativa sem gráfico: formatação condicional
Existe um segundo método que dispensa o objeto gráfico por completo e costuma ser mais fácil de manter. Deixe tarefa, início e término nas colunas A, B e C, e monte um calendário na horizontal a partir da coluna E: uma coluna por dia ou por semana, com a data no cabeçalho da linha 1.
Selecione toda a grade do calendário e vá em Página Inicial → Formatação Condicional → Nova Regra → Usar uma fórmula para determinar quais células devem ser formatadas. Com a seleção começando em E2, escreva =E(E$1>=$B2; E$1<=$C2) e escolha um preenchimento.
As referências mistas são o detalhe que faz a regra funcionar: a linha do cabeçalho travada com $1, as colunas de datas travadas com $B e $C. Erre isso e a grade pinta em diagonal.
O resultado é um Gantt em células que se redesenha sozinho quando uma data muda, imprime bem e aceita regras adicionais para destacar fins de semana, marcos ou tarefas atrasadas. Continua sem precedências e sem caminho crítico, mas elimina toda a briga com séries e eixos.
A receita completa, para o cronograma da Vidalonga, em oito passos:
- Deixe A, B e C limpas, Tarefa, Início e Término, com formato de data em B e C.
- Monte o cabeçalho do calendário. Em E1 digite
02/02/2026; em F1,=E1+1; arraste para a direita até cobrir o projeto inteiro com folga, no exemplo, até meados de abril, porque cronograma escorrega. - Formate o cabeçalho como
dd/mme gire o texto 90 graus. Uma segunda linha com=TEXTO(E1;"ddd")mostra o dia da semana e evita metade dos erros de contagem. - Selecione a grade a partir de E3 e vá em Página Inicial → Formatação Condicional → Nova Regra → Usar uma fórmula.
- Regra da barra:
=E(E$1>=$B3; E$1<=$C3), com um preenchimento sólido. As referências mistas são o que faz a regra andar corretamente pela grade. - Regra do fim de semana: nova regra,
=DIA.DA.SEMANA(E$1;2)>5, cinza claro. Coloque-a abaixo da regra da barra na lista de regras, senão o cinza cobre as barras que caem no sábado. - Regra dos feriados:
=CONT.SE(Feriados;E$1)>0, com o mesmo cinza. É ela que faz o Carnaval aparecer no desenho, e não só na conta. - Regra do atrasado:
=E(E$1>=$B3; E$1<=$C3; $D3<1; E$1<HOJE())em vermelho, se você tiver uma coluna de percentual concluído. É o mais perto de um semáforo que a planilha chega.
Esse caminho envelhece muito melhor que o gráfico de barras empilhadas, justamente porque não existe eixo para desconfigurar. Quando a migração da base foi de 5 para 9 dias, a grade se repintou sozinha e a barra continuou visível, o erro do exemplo anterior simplesmente não acontece aqui.
Onde a técnica termina
Se uma tarefa atrasa, cada data de início seguinte precisa ser ajustada na mão, e, na prática, isso para de acontecer na segunda alteração. O cronograma continua bonito e passa a estar errado, que é a pior combinação possível, porque ainda se confia nele.
Também faltam caminho crítico, carga de recursos, linha de base e histórico de desvios. Nada disso é acidente: o Excel é uma planilha, não um motor de cronograma, e cada um desses recursos exigiria uma camada de cálculo que ele não tem.
Regra prática: até umas vinte tarefas, num cronograma que muda pouco e cujos dados já vivem numa planilha, o Excel é uma escolha razoável. Acima disso, o tempo de manutenção supera o que a familiaridade economiza.
Uma ferramenta dedicada assume o recálculo. O gantts.app liga precedências, marca o caminho crítico sozinho, roda no navegador sem cadastro e exporta em XLSX quando alguém pedir o arquivo em Excel, o que resolve o motivo mais comum de se montar o cronograma na planilha em primeiro lugar.
| Recurso | Excel, barras empilhadas | Excel, formatação condicional | Ferramenta de cronograma |
|---|---|---|---|
| Barras na linha do tempo | Sim | Sim | Sim |
| Recalcula quando uma data muda | Só a grade; o eixo é manual | Sim | Sim |
| Setas de precedência | Não | Não | Sim, com TI, II, TT e IT |
| Caminho crítico | Não | Não | Sim, calculado a cada alteração |
| Folga por tarefa | Não | Não | Sim, folga total (não há coluna de folga livre) |
| Linha de base e desvio | Só à mão, em colunas paralelas | Só à mão | Sim, gravada em um clique |
| Marcos de duração zero | Exige série de dispersão | Uma regra a mais | Nativos, como losango |
| Tamanho em que ainda compensa | Até ~20 tarefas | Até ~40 tarefas | Sem limite prático |
Uma diferença que vale explicitar, porque surpreende quem chega do MS Project: no gantts.app uma precedência só empurra a tarefa para depois, nunca puxa para antes, o cálculo é as-placed, a partir de onde a barra foi colocada. É o comportamento certo para quem posicionou uma barra de propósito, e para compactar o plano de verdade existe o comando Reprogramar.
Perguntas frequentes
O Excel tem gráfico de Gantt?
Não existe um tipo de gráfico chamado Gantt no menu Inserir. O padrão é montar um gráfico de barras empilhadas com duas séries, deslocamento e duração, e formatar a primeira como Sem preenchimento, o que faz as barras de duração flutuarem na data certa.
Por que minhas barras aparecem na ordem errada?
O Excel desenha a primeira linha da tabela embaixo. Clique no eixo vertical, abra Formatar Eixo e marque Categorias em ordem inversa; em seguida ajuste "O eixo horizontal cruza" para "Na categoria máxima", senão o eixo de datas vai para o rodapé.
Como mostrar o percentual concluído nas barras?
Crie uma coluna Avanço igual à duração vezes o percentual e outra com o restante, e use três séries empilhadas: deslocamento invisível, avanço em tom escuro e restante em tom claro. A barra passa a aparecer parcialmente preenchida.
O Excel calcula precedências?
Não. Não há setas nem recálculo automático. O improviso é fazer o início de cada tarefa referenciar o término da anterior, com MÁXIMO quando houver duas predecessoras, mas nada disso aparece no gráfico nem produz caminho crítico.
Dá para fazer um Gantt no Excel sem gráfico?
Dá, por formatação condicional: um calendário na horizontal e uma regra por fórmula que pinta a célula quando a data do cabeçalho cai entre início e término. Atualiza sozinho quando as datas mudam e imprime melhor que o gráfico.
Até que tamanho o Excel serve?
Até umas vinte tarefas num cronograma que muda pouco. Acima disso, o esforço de repassar datas à mão supera o benefício da familiaridade com a planilha.
Existe modelo de Gantt para Excel?
Sim, nossos modelos são baixados em XLSX e já trazem as colunas auxiliares de deslocamento e duração, o eixo invertido e o eixo de datas formatado.
Leia também
Este artigo também está disponível em inglês.