- 更新日 : 2025年12月2日
スプレッドシートで工程表を作る方法とは?ガントチャート作成から自動化まで
Googleスプレッドシート(Google Sheets)で工程表を作成すると、コストを抑えつつ、誰でも編集・共有しやすい形でスケジュール管理が行えます。
本記事では、基本的な工程表の作成方法から、条件付き書式を使ったガントチャート表示、関数による自動計算、テンプレートの活用まで、スプレッドシートで実践的な工程表を作成するための完全ガイドを提供します。
目次
スプレッドシートで工程表を作る基本的な構造
スプレッドシートで工程表を作成する際は、まず初めに、プロジェクトの全体像を把握し、必要な情報項目を定義して、見やすく管理しやすい表構造を設計します。 適切な構造設計により、プロジェクトの進捗状況を一目で把握でき、スケジュール管理の精度が向上します。
工程表に必要な基本項目の設定
効果的な工程表を作成するため、まず以下の基本項目を列として設定します。A列から順に、これらの項目を配置することで、論理的で使いやすい工程表の基盤を作ります。
- タスクID(A列):各タスクを一意に識別する番号
- タスク名(B列):作業内容の名称
- 担当者(C列):責任者または実施者の名前
- 開始日(D列):タスクの開始予定日
- 終了日(E列):タスクの完了予定日
- 期間(F列):作業日数(自動計算)
- 進捗率(G列):完了度をパーセンテージで表示
- ステータス(H列):未着手、進行中、完了など
- 備考(I列):特記事項や注意点
1行目にこれらのヘッダーを設定し、背景色を濃い色(例:紺色)、文字を白色にして見出しとして強調します。「表示」メニューから「固定」→「1行」を選択することで、スクロールしてもヘッダーが常に表示される状態を作ります。
階層構造を持つタスクの表現
大規模プロジェクトでは、タスクを階層的に管理する必要があります。親タスクと子タスクを視覚的に区別するため、以下の工夫を実装します。
- 設計フェーズ
- 1.1 要件定義
- 1.2 基本設計
- 1.3 詳細設計
- 開発フェーズ
- 2.1 環境構築
- 2.2 実装
- 2.3 単体テスト
- 子タスクのタスク名の前にスペースを追加
- タスクIDに階層番号を使用(1.1、1.2など)
- 親タスクの行を太字で表示
- 条件付き書式で親タスクの背景色を薄い色に設定
日付と期間の自動計算
期間列(F列)には、開始日と終了日から自動的に日数を計算する数式を設定します。
=IF(AND(D2<>””,E2<>””),NETWORKDAYS(D2,E2),””)
NETWORKDAYS関数を使用することで、土日を除いた営業日ベースの日数を計算できます。祝日を考慮する場合は、別シートに祝日リストを作成し、第3引数として指定します。
=NETWORKDAYS(D2,E2,祝日リスト!A:A)
プロジェクト全体の期間を表示するサマリー行を追加し、以下の数式で自動集計します。
プロジェクト開始日:=MIN(D:D)
プロジェクト終了日:=MAX(E:E)
総期間:=NETWORKDAYS(MIN(D:D),MAX(E:E))
ガントチャート機能の実装方法
条件付き書式とSPARKLINE関数を活用することで、スプレッドシート上に視覚的なガントチャートを作成でき、プロジェクトの全体スケジュールを直感的に把握できるようになります。 この視覚化により、タスクの重複や空白期間を即座に発見できます。
条件付き書式によるバーチャート作成
J列以降を使用して、日付に対応するセルを色付けすることでガントチャートを表現します。
まず、J1セルから右方向に日付を入力します(プロジェクト開始日から終了日まで)。
J1: =MIN(D:D)
K1: =J1+1
L1: =K1+1
(以降、プロジェクト終了日まで続ける)
次に、条件付き書式を設定します。J2:AZ100などの範囲を選択し、「表示形式」→「条件付き書式」から以下のカスタム数式を入力:
=AND($D2<=J$1,$E2>=J$1,$D2<>””)
この数式により、各タスクの開始日から終了日までの期間に対応するセルが自動的に色付けされます。進捗率に応じて異なる色を設定することも可能です。
完了タスク(進捗100%):緑色
進行中タスク(1-99%):青色
未着手タスク(0%):グレー
遅延タスク:赤色
SPARKLINE関数を使った簡易ガントチャート
より簡潔なガントチャートを作成する場合は、SPARKLINE関数を使用します。単一セル内にバーチャートを表示できるため、スペース効率が良好です。
=SPARKLINE({開始日-基準日,期間},{
“charttype”,”bar”;
“max”,プロジェクト期間;
“color1″,”white”;
“color2″,”blue”})
実際の数式例(J列に配置):
=IF(D2=””,””,SPARKLINE({D2-$D$1,E2-D2},{“charttype”,”bar”;”max”,MAX($E:$E)-MIN($D:$D);”color1″,”white”;”color2″,”blue”}))
マイルストーンの表示
重要な節目となるマイルストーンを視覚的に表現するため、特別な記号や色を使用します。
=IF(F2=0,”◆”,””) // 期間が0日の場合、ダイヤモンド記号を表示
マイルストーンには以下のような項目を設定します。
- プロジェクトキックオフ
- 設計レビュー完了
- 開発環境リリース
- 本番環境リリース
- プロジェクト完了
進捗管理と自動化機能の追加
工程表に進捗管理機能を組み込むことで、リアルタイムでプロジェクトの状況を把握し、遅延リスクを早期に発見できるようになります。 自動化により、手動更新の手間を削減し、常に最新の情報を維持できます。
進捗率の計算と表示
進捗率を視覚的に表示するため、複数の方法を組み合わせます。
- 手動入力と検証: データ入力規則を設定し、0〜100の数値のみ入力可能にします。データ → データの入力規則 → 条件:0〜100の間
- 子タスクからの自動集計: 親タスクの進捗率を子タスクから自動計算:=AVERAGE(IF(LEFT(A3:A10,3)=”1.1″,G3:G10))
- 視覚的な進捗バー: REPT関数を使用して進捗バーを作成:=REPT(“■”,G2/10)&REPT(“□”,(100-G2)/10)
遅延アラートの実装
スケジュール遅延を自動検出し、視覚的に警告を表示します。
=IF(AND(TODAY()>E2,G2<100),”⚠️遅延”,””)
条件付き書式と組み合わせて、遅延タスクの行全体を赤色でハイライト:
カスタム数式:=AND(TODAY()>$E2,$G2<100)
書式:背景色を薄い赤
遅延日数を計算して表示:
=IF(AND(TODAY()>E2,G2<100),TODAY()-E2&”日遅延”,””)
ステータス管理の自動化
進捗率に基づいてステータスを自動更新:
=IFS(
G2=0,”未着手”,
G2=100,”完了”,
AND(G2>0,G2<100,TODAY()<=E2),”進行中”,
AND(G2>0,G2<100,TODAY()>E2),”遅延”,
TRUE,”確認要”)
ステータスごとに異なるアイコンを表示:
=SWITCH(H2,
“未着手”,”⏸”,
“進行中”,”▶”,
“完了”,”✅”,
“遅延”,”🔴”,””)
共有とコラボレーション機能の活用
スプレッドシートの共有機能を最大限に活用することで、チーム全体でリアルタイムに工程表を更新・確認でき、コミュニケーションの効率が大幅に向上します。 適切な権限設定とコメント機能により、セキュアで効果的な協働作業が実現できます。
アクセス権限の設定
プロジェクトメンバーの役割に応じて、適切な権限を設定します。
- プロジェクトマネージャー:編集権限(全体管理)
- タスク担当者:編集権限(担当行のみ)
- ステークホルダー:閲覧権限
- 外部関係者:コメント権限
- 保護したい範囲を選択
- 右クリック→「範囲を保護」
- 権限を持つユーザーを指定
通知とコメント機能
タスクの更新や質問をコメント機能で管理:
@メンション機能の活用例:
「@tanaka この作業の優先度を確認してください」
「@全員 明日の会議でこのタスクについて議論します」
- 「ツール」→「通知ルール」
- 「ユーザーがフォームを送信したとき」
- 「変更が加えられたとき」
- 「即座に通知」または「日次ダイジェスト」を選択
フィルタビューの活用
メンバーごとに異なるビューを作成:
- データ → フィルタビュー → 新しいフィルタビュー
- 名前:「田中さんのタスク」
- 担当者列でフィルタ:「田中」のみ表示
- 進行中タスクのみ
- 今週期限のタスク
- 遅延タスク一覧
テンプレートと応用例
業種や規模に応じた工程表テンプレートを作成し、カスタマイズすることで、様々なプロジェクトに対応できる汎用的な管理ツールを構築できます。 以下に、実践的なテンプレートと応用例を紹介します。
建設業向け工程表
建設プロジェクト特有の要素を追加:
- 天候依存フラグ
- 資材納期
- 検査日程
- 安全管理項目
天候による自動延期計算:
=IF(天候フラグ=”あり”,WORKDAY(E2,予備日数),E2)
IT開発向けアジャイル工程表
スプリント管理に対応した構造:
スプリント番号 | ストーリーポイント | バーンダウン値
Sprint 1 | 20 | =累積完了ポイント
ベロシティ計算:
=SUMIF(スプリント列,スプリント番号,完了ポイント列)/期間
イベント企画向け工程表
カウントダウン機能を追加:
=IF(D2-TODAY()>0,”残り”&D2-TODAY()&”日”,””)
関係者リストと連動:
=VLOOKUP(C2,関係者マスタ!A:C,3,FALSE) // 連絡先を自動表示
Google Apps Scriptによる高度な自動化
定期的なレポート生成を自動化:
function generateWeeklyReport() {
var sheet = SpreadsheetApp.getActiveSheet();
var today = new Date();
var report = “週次進捗レポートnn”;
// 遅延タスクを抽出
var data = sheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++) {
if (data[i][7] < 100 && new Date(data[i][4]) < today) {
report += “遅延: ” + data[i][1] + “n”;}}
// メール送信
MailApp.sendEmail(“[email protected]”, “週次レポート”, report);}
効果的な運用のポイント
工程表を効果的に運用するためには、定期的な更新、明確なルール設定、継続的な改善が不可欠です。 以下のポイントを押さえることで、プロジェクト管理の質が向上します。
更新ルールの明確化
- 日次更新:各担当者が進捗率を更新
- 週次レビュー:PMが全体調整
- 月次見直し:スケジュール全体の再評価
更新履歴の記録:
=TEXT(TODAY(),”yyyy/mm/dd”)&”:”&$J$2&”が更新”
- J2 セルに「田中」など担当者名を入力
- 更新日時を記録したいセルに上記の式を入れる
KPIダッシュボードの作成
別シートに主要指標を集約:
全体進捗率:=AVERAGE(進捗率列)
完了タスク数:=COUNTIF(ステータス列,”完了”)
遅延タスク数:=COUNTIF(遅延フラグ列,”遅延”)
残作業時間:=SUMIF(進捗率列,”<100″,期間列)
- データ範囲を選択
- 挿入 → グラフ
- グラフの種類:面グラフ(バーンダウン)
スプレッドシート工程表で効率的なプロジェクト管理を実現
Googleスプレッドシートを使った工程表作成は、基本的な表構造の設計から始まり、ガントチャート表示、進捗管理の自動化、チームコラボレーションまで、段階的に機能を拡張していくことで、専門ツールに匹敵する管理システムを構築できます。
重要なのは、プロジェクトの規模と特性に応じて必要な機能を選択し、チーム全体で運用ルールを共有することです。過度に複雑な機能を追加するよりも、シンプルで更新しやすい工程表を維持することが、長期的な成功につながります。
継続的な改善により、スプレッドシートで作成した工程表は使いやすい管理ツールになるでしょう。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
REPLACE関数とは?文字列置換の基本から応用、エラー対策まで解説
REPLACE関数(読み方:リプレイス関数)は、エクセルで文字列の一部を別の文字に置き換える関数です。 大量のデータを扱う中で「特定の文字だけを差し替えたい」といった場面に最適で、作業を一気に効率化できます。 この記事では、REPLACE関…
詳しくみるスプレッドシートでスクリプトを使って業務を自動化するには?基本から関数まで解説
Googleスプレッドシートのスクリプト機能(Google Apps Script、略称GAS)を活用すれば、手作業で行っていた繰り返し処理を自動化し、業務効率を大幅に向上させることができます。 本記事では、スプレッドシートのスクリプトエデ…
詳しくみるスプレッドシートで日報を作成するには?テンプレート作成から自動化まで完全解説
Googleスプレッドシート(Google Sheets)を活用した日報システムは、従来の紙やメール形式の日報と比較して、リアルタイムでの情報共有、データの蓄積と分析、業務の可視化において圧倒的な優位性を持ちます。クラウドベースの特性により…
詳しくみるスプレッドシートのスライサーとは?フィルタとの違いから使い分けまで徹底解説
Googleスプレッドシート(Google Sheets)のスライサーを使うと、大量データを見ながら直感的に絞り込み、分析やプレゼンのスピードを高められます。 本記事では、スライサーの基本と仕組み、作成~設定の手順、グラフやピボットとの連携…
詳しくみるMINUTE関数の使い方:時刻データから分を抽出する方法
MINUTE関数は、時刻データから「分」の部分だけを取り出す関数です。勤怠管理での細かい時間計算、会議スケジュールの管理、生産ラインのタクトタイム分析、交通機関の時刻表処理など、分単位の時間管理が必要な場面で活用されます。 例えば、「14:…
詳しくみるBASE関数の使い方!10進数を任意の基数に変換する方法
Excelの BASE関数 は、10進数を2進数・8進数・16進数など任意の基数に変換できる便利な関数です。Excel 2013以降で利用でき、2から36までの基数に対応しています。プログラミングのデバッグ、ネットワークのIPアドレス計算、…
詳しくみる




