この記事ではエクセルでガントチャートを作る方法を5種類と、手書きから条件付き書式や関数を使った自動化、矢印を追加する方法までを紹介します。
マクロを使わず週単位・月単位・年単位と自由にカスタマイズできるので、この記事を参考に見やすいガントチャートを作成してください。
エクセルでガントチャートを作る方法
代表的な5つの方法
- 手書き(セル塗潰し)
- 手書き(図形描画・矢印追加)
- 条件付き書式(自動生成)
- 関数(自動生成)
- グラフ
このほか、VBAを使った自動化も可能ですが、メンテナンス性を考えるとクラウド型のガントチャートツールを利用するほうが効率的です。
方法別 ガントチャートの特徴と作り方
手書き(セル塗潰し)
セルを手動で塗りつぶしてバーを描くもっともシンプルな方法です。初心者でも簡単ですが、タスクが多いと手間がかかります。色分けも自由にできるため、小規模なプロジェクトに向いています。
手書き(図形描画)
手動で矢印などの図形を使ってバーを描くやり方です。こちらもバーを描く手間がありますが、タスクによって色や図形を変えたりできるのでカスタマイズ性は高いです。
条件付き書式(自動生成)
条件付き書式を設定すると、開始日と終了日を入力するだけでバーが自動生成されます。日付変更が多い場合に便利ですが、複雑な色分けをしたい場合は数式設定が難しく初心者にはハードルが高めです。
関数(自動生成)
関数を利用してセルに「■」などを表示し、ガントチャートを自動的に描く方法です。見た目はシンプルですが修正が容易で、タスクが多いプロジェクトに向いています。見栄えよりも効率を重視する場合におすすめです。
グラフ
積み上げ横棒グラフを応用する方法です。もっとも見栄えがよく、顧客向け資料に使いやすいですが、カスタマイズや修正に手間がかかります。
エクセル ガントチャートの作り方手順(矢印・自動対応)
手書き(セル塗りつぶし)の手順
タスク名・開始日・終了日・カレンダー行を用意し、期間セルを手動で塗りつぶします。土日や祝日を色分けすると視認性が向上します。
スケジュール部分の範囲を選択して背景を塗りつぶします。
メリット
初心者でも簡単/柔軟に調整できる
デメリット
タスクが多いと手間/更新頻度が高いと負荷
手書き(図形描画・矢印)の手順
「挿入 → 図形 → 矢印」でバーや依存関係を描きます。整列は「図形の書式設定」からサイズ・配置を揃えると美しく仕上がります。
挿入 → 図形 → 矢印(右)でバーを描いていきます。図形は矢印ではなく単なる直線などでも構いません。
あとは、図形のコピーを駆使してスケジュールどおりに線を引いていくだけです。図形の太さを揃えたい場合は、図形を右クリックして「図形の書式設定」を選び、書式設定から「サイズ」→「高さ」を同じ数値にしてください。
手書き(図形描画)のメリット
・エクセル初心者でも簡単に作成できる ・バーの修正は伸縮するだけ ・色の塗り分けも自由
手書き(図形描画)のデメリット
・タスクが多いと書くのが面倒 ・図形を大きさや位置を揃えるのが面倒
条件付き書式(自動生成)の手順
条件付き書式を使って自動的にセルをぬりつぶす方法では、タスクの開始日と終了日を該当日の日付と比べることでセルに色をつけます。初めに1つだけのセルで「条件付き書式」を設定しセル全体にコピーします。
「数式を使用して、書式設定するセルを決定」を選び以下の数式を入力します。
=AND(設定するセル位置 >= 開始日のセル位置, 設定するセル位置 <=終了日のセル位置)
今回の例だと、以下のようになります。
設定するセル位置=O5 開始日のセル位置=I7 終了日のセル位置=L7
数式を設定したら、「書式(F)...」ボタンから背景色を塗りつぶす設定を入れます。
一つのセルで「条件付き書式」を設定したら、カレンダー部分のセルにすべてコピーしていきます。コピー後、開始日と終了日に値を入れるとバーが自動的に出るようになります。
完成したガントチャートは以下のようになります。手動でセルを塗りつぶす方法と見た目は同じです。
条件付き書式のメリット
・日付を入力するだけでバーが描ける ・バーの修正が楽
条件付き書式のデメリット
・色の塗り分けが面倒 ・計算式を作る必要がある
関数(自動生成)の手順
関数をつかってセルの塗りつぶしや図形は描けないので、※や■といった文字をガントチャートのバーに見立てます。 自動でバーを作成してくれるので入力や修正が楽ですが、あくまで代用品的なイメージです。
以下の数式を入力します。
=IF(AND(設定するセル位置 >= 開始日のセル位置,設定するセル位置 <= 終了日のセル位置),"設定する文字","")

今回の例だと、以下のようになります。
設定するセル位置=O5 開始日のセル位置=I7 終了日のセル位置=L7
=IF(AND(O$5>=$I7,O$5<=$L7),"■","")
数式を入力したら、縦、横のセルにコピーしていきます。
数式をカレンダー部分のセルにすべてコピーすれば開始日、終了日に日付を入れることで設定した文字が表示されます。
関数のメリット
・日付を入力するだけでバーが描ける ・バーの修正が楽
関数のデメリット
・計算式を作る必要がある ・見た目があまりよくない
グラフの手順
エクセルの積み上げ横棒グラフを利用することで、ガントチャートをつくることもできます。グラフでガントチャートを作る場合は、タスク名、開始日、終了日、工数を記入した表からグラフ機能をつかいます。
始めに開始日だけで積み上げ横棒のグラフを作ります。
次に各工程の日数をグラフに追加します。
1日ごとの補助線を引くために、横軸を右クリックして補助目盛を追加します。
日付に軸を揃えるため、最小値を最小の開始日-3日、最大値を最大の終了日+3日に設定します。また、目盛を1週間(7日)、補助目盛を1日にするためそれぞれに目盛に7.0,補助目盛に1.0を入力します。
ガントチャートにするには、上下が逆になっているので向きを変えます。縦軸を右クリックして軸の書式設定を表示します。軸の書式設定から、「最大項目」、「軸を反転する」にチェックすると正しい向きになります。
最後に「開始日」の系列のグラフの色を「塗りつぶしなし」に設定するとガントチャートになります。
グラフで作成したガントチャートです。色の変更も簡単ですが、タスクの追加やカスタマイズは手間がかかります。
グラフのメリット
・見た目が優れている ・ファイルサイズが軽い ・色の塗り分けもできる
グラフのデメリット
・作成までの手間がかかる ・予定と実績、グループ分けなど複雑なチャートは作れない ・タスクの追加など修正が面倒
よくある質問(FAQ)
エクセルのガントチャートは矢印を自動で表示できますか?
はい。条件付き書式や関数を使うことで、開始日と終了日を入力するだけで自動的にバーを表示できます。依存関係を矢印で表現したい場合は図形描画を併用してください。
ガントチャートを作るのに一番簡単な方法はどれですか?
初心者の方には「セルを塗りつぶす方法」がおすすめです。シンプルで理解しやすく、小規模なプロジェクトであれば十分対応できます。
自動生成と手書きのどちらを使うべきですか?
タスク数が多く頻繁に変更がある場合は自動生成が便利です。見栄えや依存関係の強調を重視する場合は手書き(矢印追加)を使うと良いでしょう。
エクセル以外でガントチャートを作る方法はありますか?
はい。無料のクラウド型ガントチャートツールや専用アプリを利用する方法もあります。自動化やチーム共有を重視する場合にはExcelより効率的です。
まとめ
エクセルのガントチャートは、手動・自動・グラフのいずれでも作成可能です。
矢印を使えば関係性が明確になり、自動生成を使えば更新が高速化します。プロジェクト規模と用途に合わせて最適な方式を選択してください。