excel

エクセルのガントチャートを自動で描く|関数と条件付き書式の境目

2026年9月28日 ・ Pinateca編集部

エクセルのガントチャートを自動で描きたいという要望の裏には、ほぼ必ず同じ経験があります。図形で横棒を引いた工程表を作ったものの、列の幅を変えたら全部ずれた、日付を2日動かすだけで30分かかった、という経験です。

先に結論を書きます。条件付き書式とAND関数を使えば、開始日と終了日を入れるだけで横棒が自動で伸び縮みする工程表は作れます。日付の見出しを自動で伸ばすことも、土日を塗り分けることも、今日の線を出すこともできます。ただし、自動にできない範囲がはっきり3つあります。前の作業がずれたときに後ろが自動で動くこと、複数の人が同時に直すこと、そして変更を関係者へ知らせることです。この3つが必要かどうかが、表計算で続けるかどうかの判断の境目になります。

この記事では、図形で引いた工程表が壊れる理由から始めて、何を自動にするのかの整理、条件付き書式で期間を塗る仕組み、日付の見出しを伸ばす手順、土日と今日の線、進捗率の載せ方、届かない3つのこと、無料で済む範囲と時間で払っている費用、そして判断の境目までを順に扱います。

図形で引いた工程表が壊れる理由

まず、自動にしたくなる元の状態を確認します。

Excelの図形(オートシェイプ)による手動の工程表作成にストレスを感じていませんか?「列幅を変えるとズレる」「修正が面倒」といった悩みを解決するため、条件付き書式を使って日付入力だけで「工程バーが自動で伸び縮みする」ガントチャートの作り方を解説します。 出典: denki-salarymanblog.com

図形で引いた横棒が壊れる理由は2つあります。

1つ目は、図形がセルの上に浮いていることです。図形はセルの中身ではなく、シートの上に置かれた別の層にあります。だから、列の幅を変えても、行を挿入しても、図形は元の位置に留まります。見た目では日付の位置とずれ、直すには図形を1つずつ動かすことになります。作業の数が20本あれば、20回動かします。

2つ目は、期間と図形が結び付いていないことです。開始日の欄に入れた日付と、引いた横棒の間に関係がありません。だから、日付を直しても横棒は動かず、横棒を動かしても日付は直りません。二重に管理している状態で、片方だけ直したときに必ず食い違います。工程表が信用されなくなるのは、この食い違いが1度でも起きたときです。

条件付き書式で塗る方式は、この2つを両方解きます。塗られるのはセルの背景なので、列の幅を変えても行を挿入してもずれません。そして、塗るかどうかの判定が開始日と終了日の欄を見ているので、日付を直せば塗りが自動で動きます。二重管理が消えます。

なお、図形の方式にも利点はあります。自由に色を付けられ、矢印を引けて、注記を書き込めます。見せるための1枚、たとえば提案書に載せる工程表なら、図形のほうが早く仕上がります。使い分けの基準は、あとから直すかどうかです。直さない図なら図形、動く表なら条件付き書式です。

「自動」には3つの段階がある

自動にしたいと言うとき、どこまでを指しているのかを整理しておくと、作る手間が読めます。

第1の段階は、横棒が自動で伸び縮みすることです。開始日と終了日を入れれば、その期間のセルが塗られます。ここは条件付き書式とAND関数で実現できます。作るのに慣れていれば15分ほどです。

第2の段階は、日付の見出しが自動で伸びることです。先頭の日付を変えれば、右に並ぶ日付が自動で更新される。月が変わって日数が違っても手で直さなくてよい。ここも関数で実現できます。

第3の段階は、前後関係が自動で動くことです。設計が2日遅れたら、その後ろの実装とテストも2日後ろへずれる。これは条件付き書式では実現できません。計算式で無理に組むこともできますが、作業が10本を超えると式が追えなくなり、1か所直すと全体が壊れます。

多くの人が「自動」と言うとき、頭にあるのは第3の段階です。ところが、記事や動画で解説されているのは第1と第2です。ここに期待の差があるので、第1と第2を作り終えたあとに「思っていたのと違う」と感じます。先に3段階に分けておくと、どこまで作るかを自分で決められます。

実務としては、第1と第2を作って運用し、第3は人が手で直す形が最も現実的です。第3を式で組んだ表は、作った人しか直せません。作った人が異動した瞬間に、誰も触れない表になります。

作り始める前に決める、表の並び

式の話に入る前に、表の並びを決めてください。ここを決めずに作ると、あとから列を挿入することになり、条件付き書式の範囲がずれます。

左から順に並べる欄は6つです。作業の名前、担当者、開始日、終了日、日数、進捗率。日数は開始日と終了日から計算で出すので、手で入れません。=C4-B4+1 の形で、開始日と終了日の両方を含む日数になります。この1を足し忘れると、1日で終わる作業の日数が0になります。

進捗率の欄は、載せるかどうかを先に決めてください。載せると更新の手間が発生します。週に1度しか更新しないなら、割合ではなく「未着手・作業中・完了」の3段階にしたほうが、入力の負担が軽く、精度も落ちません。割合で管理していると「70%」と書かれた行が2週間そのままという状態になりがちで、数字があるぶん余計に誤解を招きます。

1行の粒度も決めておきます。工程表に載せる1行は、半日から3日で終わる大きさに揃えると扱いやすくなります。1行が3週間の作業だと、その3週間ずっと状態が「作業中」になり、遅れているのか順調なのかが横棒からは読めません。逆に1行が2時間の作業だと、行が数百になって1画面に収まりません。

行の数の上限も決めてください。1画面に収まるのは30行ほどです。これを超えると、上のほうの作業を見るためにスクロールすることになり、全体を見渡す道具としての役目を果たさなくなります。40行を超えるなら、工程表を分けるか、大きな区分だけを載せた表を別に作ってください。

そして、作業の並べ方は開始日の順にします。分類ごとにまとめたくなりますが、開始日の順に並べていないと、横棒が階段状にならず、全体の流れが読めません。分類は行の色や左の欄で表現します。

作る手順を7つに分ける

順番を守ると、作り直しが減ります。

第1の手順は、表の並びを作ることです。前の節で決めた6つの欄を左に置きます。

第2の手順は、日付の見出しを作ることです。先頭の日付を入れて、右へ式でコピーします。ここを先に作っておかないと、条件付き書式の範囲が決まりません。

第3の手順は、作業を書き出すことです。日付はまだ入れません。名前と担当者だけを並べます。

第4の手順は、前後関係を頭の中で確認することです。どれが終わらないとどれに入れないのかを確かめます。表計算では矢印を自動で引けないので、順番が正しければ行の並びで表現できます。

第5の手順で、開始日と終了日を入れます。前後関係を確認したあとなので、つじつまが合います。先に日付を入れてから前後関係を考えると、全部やり直しになります。

第6の手順で、条件付き書式を入れます。横棒、土日、今日の線の3つを、この順で入れます。順位が大事で、あとから入れたものが上に来る道具の作りを確かめてください。

第7の手順で、印刷の設定をします。印刷範囲、見出しの行の固定、1ページに収める設定。ここを飛ばすと、会議の直前に印刷が崩れていることに気づきます。

この7つのうち、飛ばされがちなのは第4と第7です。第4を飛ばすと日付を入れ直すことになり、第7を飛ばすと会議の直前に慌てます。どちらも、その場では困りません。

条件付き書式で期間を塗る仕組み

作り方の核心は1つの式です。

横方向に日付が並んだ表を用意して、作業の行ごとに開始日と終了日の欄を置きます。そして、横棒を出したい範囲全体を選んで、条件付き書式に数式の条件を入れます。式の中身は「その列の日付が、開始日以上かつ終了日以下である」という判定です。

=AND(D$3>=$B4, D$3<=$C4) という形になります。D列の3行目が日付の見出し、B列が開始日、C列が終了日という配置です。ドル記号の位置が大事で、日付の見出しは行を固定し、開始日と終了日は列を固定します。こうしておくと、1つの式が選んだ範囲の全部に正しく効きます。

各タスクの開始日と終了日に応じて、セルをオレンジ色で自動的に塗りつぶすガントチャートの作り方を紹介します。ここでは、WEBページの設計から公開までのタスクを例に、条件付き書式を使って開始日〜終了日の期間をオレンジ色で自動表示する方法を解説します。 出典: denki-salarymanblog.com

つまずきやすい点を3つ挙げておきます。

1つ目は、ドル記号の付け方です。ここを間違えると、1行目だけ正しく塗られて2行目以降が全部おかしくなります。うまくいかないときは、まず1行だけを選んで式を確かめ、それから範囲を広げてください。

2つ目は、日付の見出しが文字列になっていることです。「10/1」と手で打つと、書式によっては文字列として入ります。文字列と日付は比較できないので、条件が常に偽になり、1マスも塗られません。見出しのセルを選んで、数式バーに日付として表示されるかを確かめてください。

3つ目は、開始日か終了日が空のときの挙動です。空のセルは0として扱われるので、終了日が空だと「日付が0以下」という条件になり、塗られません。逆に開始日が空だと、条件の片方が常に真になります。空の行があると予期しない塗りが出るので、式に空判定を加えるか、未定の行は塗らない運用にしてください。

塗る色は1色で足ります。色を増やしたくなりますが、条件付き書式のルールが増えるほど、どのルールが効いているのか分からなくなります。分類を色で表したいなら、条件を追加する前に、行の並べ方で表現できないかを考えてください。

日付の見出しを自動で伸ばす

第2の段階です。ここができると、月をまたぐときの手作業が消えます。

月ごとに日数が異なるため、ガントチャートの日付を毎回手作業で作成するのは意外と手間がかかります。 この章では、その負担を軽減したい方向けに、条件付き書式とオートフィルを組み合わせて日付を自動拡張する方法を紹介します。 出典: denki-salarymanblog.com

組み方は単純です。先頭のセルに開始したい日付を入れ、隣のセルに「1つ左のセルに1を加えたもの」という式を入れて、右へコピーします。=D3+1 という形です。これで、先頭の日付を変えるだけで全体が動きます。

表示する幅の決め方には目安があります。日単位で並べるなら、画面に収まるのは40日から60日ほどです。3か月のプロジェクトを日単位で全部並べると、横に90列並んで、印刷もできません。この場合は週単位に切り替えます。週単位なら、先頭に週の初日を入れて=D3+7にするだけです。1年のプロジェクトでも52列で収まります。

月の見出しを上の行に出したいなら、日付の行を参照して月だけを取り出す式を使います。同じ月が続く部分でセルを結合したくなりますが、結合はしないほうがよいです。結合したセルがあると、行の挿入や並べ替えで崩れます。代わりに、月が変わる列だけに月の数字を出す条件を使えば、結合なしで同じ見た目になります。

日付の書式も決めておいてください。列の幅を狭くしたいので、日だけを出す形にします。「1」「2」「3」と並べば、幅を3文字分まで詰められます。40日分を並べても横幅に収まります。

土日と今日の線を出す

見やすさに直接効く2つです。どちらも条件付き書式で足ります。

土日を塗るには、日付の曜日を判定する条件を使います。=WEEKDAY(D$3,2)>=6 という形で、月曜を1として数えたときに6以上なら土日という判定です。この条件を、横棒の条件より下の順位に置きます。順位を逆にすると、土日の塗りが横棒を隠します。

祝日については、手元で判定する方法がありません。祝日の一覧を別のシートに並べて、その中にあるかどうかを判定する形になります。一覧は毎年更新が要るので、年の初めに作業として入れておいてください。自動で取ってくる仕組みを組むこともできますが、外部との通信が要るため、社内の環境で止まることがあります。一覧を手で持つほうが壊れません。

今日の線は、条件付き書式で「その列の日付が今日と等しい」という判定を作り、セルの左端に罫線を引く書式を当てます。=D$3=TODAY() です。この線が入ると、横棒が線より左で終わっていない作業が遅れだと一目で分かります。工程表で最も使われる情報がこれなので、優先して入れる価値があります。

ただし、今日の線を入れた表を印刷したりファイルで送ったりすると、受け取った側の今日の位置に線が動きます。送る相手が過去の状態を見たい場合、線の位置が合いません。送る用には、日付を固定した別の列を持つか、画像として書き出す運用にしてください。

もう1つ、行の高さと列の幅について触れておきます。塗りで横棒を表す方式では、セルの大きさがそのまま棒の太さになります。列の幅を狭くしすぎると、塗りが細い線のように見えて読みにくくなります。列の幅は3文字分、行の高さは標準より少し高め、という組み合わせが実務で扱いやすい範囲です。

進捗率まで載せるときの作り

期間を塗れたら、次に欲しくなるのが進み具合です。2つの方法があります。

第1の方法は、進捗率の欄を作って、その割合まで濃い色で塗ることです。条件を「その列が期間の中で、かつ全体の左から進捗率の割合の中に入る」という形にします。式は長くなりますが、1本の棒の中で終わった部分と残りが色で分かれるので、一覧で読めます。

第2の方法は、行を2本にすることです。上の行が予定、下の行が実績。予定の棒と実績の棒が上下に並ぶので、遅れが視覚で分かります。式は単純なままで、行の数が倍になります。作業が10本なら20行です。

どちらを選ぶかは、載せる作業の数で決まります。作業が20本を超えるなら第1の方法、20本以下なら第2の方法が読みやすくなります。行が40行を超えると、1画面に収まらず、スクロールしながら比べることになります。

そして、進捗率を載せるときに必ず出る問題があります。誰が更新するのかという問題です。進捗率の欄は、作業をしている人が入れるのが正しい形ですが、表計算のファイルは1人が開いていると他の人が編集できません。結果として、とりまとめる人が聞いて回って代わりに入れることになります。作業が20本あれば、毎週20回聞くことになります。

この作業を続けるかどうかが、実は表計算で工程表を運用する上での最大の判断点です。塗りの自動化で節約できるのは日付を直す手間で、聞いて回る手間は残ります。

無料のテンプレートを使うときの注意

条件付き書式の仕組みを自分で組まず、配られているテンプレートを使う方法もあります。表計算の工程表のテンプレートは、無料のものが多く出回っています。

使うときの注意は4つあります。

1つ目は、他人のテンプレートの1行の大きさは、その人のプロジェクトに合わせて作られていることです。1行が「要件定義」のような大きな区分になっているテンプレートを、3か月のプロジェクトでそのまま使うと、1行が3週間になります。行の大きさは自分のプロジェクトに合わせて決め直してください。

2つ目は、条件付き書式のルールが何本入っているかを確かめることです。凝ったテンプレートには10本以上のルールが入っていることがあり、1つ直したいときにどれが効いているのか分かりません。使う前にルールの一覧を開いて、意味の分からないものは消してください。

3つ目は、入っている式を理解できる範囲に留めることです。理解できない式が入った表は、壊れたときに直せません。直せない表は、壊れた日に捨てることになります。自分で組んだ単純な式のほうが、長く使えます。

4つ目は、シートの保護が掛かっていないかを確かめることです。編集できない範囲があると、行を増やせません。保護を外すには合言葉が要る場合があり、配布元に問い合わせることになります。

配布されているテンプレートの中には、ファイルを開くときに警告が出るものもあります。仕組みを動かすための命令が埋め込まれている形式です。社内の決まりで動かせない環境もあるため、配る相手がいる工程表では、警告の出ない形式のものを選んでください。

結論としては、テンプレートは「照合」に使うのが良い使い方です。自分で作ったあとに開いて、抜けている欄が無いかを見る。埋めるために使うと、他人のプロジェクトの形に自分の仕事を合わせることになります。

関数と条件付き書式では届かない3つのこと

境目を明確にしておきます。

第1に届かないのは、前後関係の自動の反映です。設計が2日遅れたときに、実装とテストの日付が自動でずれる仕組みは、条件付き書式では作れません。開始日を前の作業の終了日から計算する式を組めば形にはなりますが、10本を超えると式の連鎖が追えなくなります。そして、途中の1本だけを手で動かしたくなる場面が必ず来るので、式が壊されます。

第2に届かないのは、同時の編集です。1つのファイルは、1人が開いている間は他の人が直せません。共有の仕組みを使えば同時に開けますが、条件付き書式が多い表では動きが重くなり、実務では使いにくい状態になります。とりまとめる人が1人で更新するという前提から抜けられません。

第3に届かないのは、変更を知らせることです。誰かが日付を動かしたときに、影響を受ける人に届く仕組みがありません。ファイルを開いた人だけが気づくので、気づかない人が古い日付で動き続けます。週に1度の会議で全員が同じ画面を見る運用なら回りますが、それ以外の場面では抜けが出ます。

この3つが要らないなら、表計算で十分です。作業が10本以下、更新するのが1人、変更が週に1度の会議でまとまる。この条件に当てはまるプロジェクトは実際に多く、無理に道具を替える必要はありません。

3つのうち2つが要るなら、時間で払っている費用を計算してみてください。

無料で済む範囲と、時間で払っている費用

表計算の利点は、すでに持っていることです。追加の費用がかかりません。この点は大きく、判断の材料として正当です。

ただし、時間で払っている費用は見えません。計算してみると分かります。とりまとめる人が工程表の更新に週に2時間使っているとします。月に8時間です。その人の時間を1時間3,000円で見るなら、月額24,000円を工程表の維持に払っていることになります。

聞いて回る手間も同じです。20本の作業の進み具合を毎週聞くと、1本あたり3分でも1時間です。月に4時間。これも同じ計算で月額12,000円分です。

合わせて月額36,000円分の時間を使っている状態で、月額数千円の道具を「費用が増える」と判断すると、判断を誤ります。比べるべきは、道具の料金と、いま時間で払っている費用です。

もちろん、道具を入れたら手間がゼロになるわけではありません。入力する人が増えなければ、聞いて回る手間は残ります。入れたあとにチームが使い続けてくれるかが、実際の効果を決めます。ここは料金では判断できない部分なので、無料の範囲で試せる道具を選ぶのが順序として正しいです。

そして、表計算のまま続ける場合でも、費用の計算はしておく価値があります。数字で見えると、更新の頻度を週1回に決める、作業の本数を20本までに制限するといった運用の判断ができます。見えないまま続けると、際限なく膨らみます。

道具の違いを分解して考える

判断の材料を整理します。見る点は3つ、前後関係が自動で動くか、同時に直せるか、同じ作業を別の形でも見られるかです。

前後関係については、バーをドラッグすると開始日と締切がその場で変わる作りかどうかを試してください。絵として横棒が描けるだけの道具では、日付を直す作業が残ります。どの見え方で何が分かるのかはできることのページに8種類のボードとして整理されていて、ガントチャートの棒をドラッグして期間を変えられる点と、同じカードがカレンダーとしても一覧としても見える点が説明されています。1つのカードを直せば全部の見え方が変わるので、表を3つ作る必要がなくなります。

同時に直せるかどうかは、ここまで見てきた問題の根っこです。1つのファイルを1人が開いている間、他の人は直せません。この点が解決しないなら、道具を替えても聞いて回る手間は残ります。同じページには、カードへのコメントとワークスペースごとのチャットが並べて説明されているので、進み具合の報告がどこに残るのかも確かめられます。

料金の考え方も判断の材料になります。機能で絞らず、区切るのは人数とボードの数だけという方針を採っている料金のページでは、ガントチャートもカスタムフィールドも無料の範囲に含まれ、無料で使えるのは5人・ボード10個までと明示されています。工程表がいちばん確かめたい機能なのに有料プランからになっている道具では、判断のために課金することになります。

候補を横に並べたい場合は比較の一覧のページに、主要なプロジェクト管理ツールの無料枠と、工程表がどのプランから使えるかが表で整理されています。いま Trello でボードを運用していて工程表だけが足りない状況ならTrelloとの比較のページに、タイムラインが有料のPremiumからになる点と、無料枠のボード数の数え方が並べて書かれています。

30人以上で使うチームはBacklogとの比較のページが参考になります。組織単位の定額制と1人あたり課金の分かれ目、ガントチャートが含まれるプランの条件が並べて書かれているので、自分の人数を当てはめて読めます。仕様書も同じ場所にまとめたい場合はNotionとの比較のページに、設計の自由度と最初から揃っていることの違いが整理されています。

移す場合の条件はTrelloからの移行のページに、何が移って何が移らないのかが項目ごとに示されています。表計算のファイルからの自動の取り込みは用意されていないので、移すときは手作業になります。無料の範囲でどこまで確かめられるかはよくある質問のページにも整理されています。

最後に順番だけ繰り返します。図形をやめて条件付き書式にする、日付の見出しを式で伸ばす、今日の線を入れる、ここまでで足りるかを見る。足りないと分かった理由が前後関係・同時編集・通知のどれなのかを言葉にしてから、次を考えてください。理由を言葉にしないまま道具を替えると、新しい画面で同じ運用を再現します。

Q1. 条件付き書式で横棒が1マスも塗られません。何を確かめればよいですか?

3つあります。1つ目は日付の見出しが文字列になっていないか。「10/1」と手で打つと文字列になることがあり、日付との比較が常に偽になります。2つ目はドル記号の位置。日付の見出しは行を固定し、開始日と終了日は列を固定します。3つ目は開始日か終了日が空でないか。空のセルは0として扱われるので、条件が成立しません。

Q2. 3か月分の日付を並べると横に長すぎます。どうすればよいですか?

週単位に切り替えてください。先頭のセルに週の初日を入れて、隣のセルを1つ左に7を加える式にするだけです。1年のプロジェクトでも52列で収まります。日単位で画面に収まるのは40日から60日ほどなので、それを超える期間は週単位が実務的です。日付の書式は日だけを出す形にして、列の幅を3文字分まで詰めます。

Q3. 前の作業が遅れたときに、後ろの作業も自動でずらせますか?

条件付き書式では作れません。開始日を前の作業の終了日から計算する式を組めば形にはなりますが、作業が10本を超えると式の連鎖が追えなくなり、途中の1本を手で動かした時点で壊れます。実務としては、横棒の自動化と日付の見出しの自動化までを作り、前後関係の調整は人が手で直す形が最も現実的です。

Q4. 表計算のままで続けるか、道具を替えるかはどこで判断しますか?

3つの条件で見てください。前後関係が自動で動く必要があるか、複数の人が同時に直す必要があるか、変更を関係者へ知らせる必要があるか。2つ以上に当てはまるなら替える検討に入ります。あわせて、更新と聞き取りに使っている時間を金額に換算してください。週に3時間なら月に12時間で、道具の料金と比べる材料になります。

ブログ一覧へ