スプレッドシートで案件管理を効率化!納期遅延と属人化を防ぐ進捗管理表の作り方

基本解説

「あの案件、いま誰が担当でどこまで進んでるんだっけ?」
「Aさんにばかり仕事が集中して、Bさんの手が空いている…」
「Excelの管理表が複雑化して、作った人にしか分からない…」

日々の業務で発生する案件の管理。多くの企業で、こうした課題に頭を悩ませているのではないでしょうか。

高機能なプロジェクト管理ツールの導入も一つの手ですが、「そこまでのコストはかけられない」「まずは手軽に始めたい」というのが本音かもしれません。

そこでおすすめしたいのが、多くのビジネスパーソンが使い慣れているGoogleスプレッドシートを活用した案件管理です。

この記事では、Googleスプレッドシートを使って、案件の進捗や納期、さらにはチームメンバーの稼働状況まで可視化する方法を、初心者の方にも分かりやすくステップ・バイ・ステップで解説します。関数や機能を組み合わせることで、高価なツールに負けない、自社に最適化された管理体制を構築できます。

この記事を読み終える頃には、あなたもチームの案件管理を劇的に改善する第一歩を踏み出せるはずです。

なぜ「スプレッドシート」での案件管理が有効なのか?

はじめに、なぜGoogleスプレッドシートが案件管理に適しているのか、そのメリットとデメリットを整理しておきましょう。

メリット

  • 無料ではじめられる:Googleアカウントさえあれば、追加費用なしで利用できます。
  • 共有・同時編集が容易:チームメンバーとリアルタイムで情報を共有し、同時に編集作業が可能です。
  • カスタマイズ性が高い:自社の運用ルールに合わせて、管理項目やレイアウトを自由に変更できます。
  • 関数や自動化で高機能に:関数を組めば複雑な集計も自動で行え、Google Apps Script (GAS) を使えば、定型業務の自動化や外部ツールとの連携も実現できます。

デメリット

  • テンプレート作成に手間がかかる:自社に合った管理表を一から作るのは、少し手間と知識が必要です。
  • 属人化しやすい:高度な関数や複雑な構造にしてしまうと、作成者しかメンテナンスできなくなる可能性があります。
  • データ量が増えると動作が重くなる:数万行を超えるデータを扱うようになると、計算や表示に時間がかかることがあります。

ご安心ください。この記事では、これらのデメリットを解消し、誰でも使えてメンテナンスしやすい管理表の作り方を具体的に解説していきます。

【基本編】案件の進捗・納期を可視化する管理表の作成

まずは、すべての基本となる「案件管理表」を作成します。ここでは、案件の進捗状況を一覧化し、納期遅延を未然に防ぐ仕組みを作ります。

Step 1: 管理する項目を決めて表を作成する

はじめに、案件を管理するために必要な項目を洗い出し、シートにヘッダー(表の1行目の見出し)を作成します。

<法人でよく使われる管理項目の例>

項目名内容
案件ID案件を特定するための一意の番号
登録日案件を登録した日付
案件名具体的な案件の内容
クライアント名取引先の企業名
担当者その案件の主担当者名
ステータス案件の進捗状況(例:未着手、進行中、確認中、完了)
優先度案件の重要度(例:高、中、低)
進捗率案件の達成度合いを数値で示す(例:50%)
開始日案件に着手した、またはする予定の日付
納期成果物を納品する期日
備考その他、特記事項を記載する欄

これらの項目を1行目に入力し、分かりやすいように背景色をつけたり、文字を太字にしたりして見出しを整えましょう。

Step 2: 入力ミスを防ぐ「データの入力規則」機能

「ステータス」や「担当者」を手入力すると、「進行中」と「作業中」が混在したり、担当者名を間違えたりと、表記ゆれが発生しがちです。表記ゆれは、後のデータ集計の際に正確な数字が出せなくなる原因になります。

そこで「データの入力規則」機能を使って、特定のセルにはリストから選択する形でしか入力できないように設定しましょう。

これで、ステータスセルにカーソルを合わせるとプルダウンが表示され、定義した選択肢以外は入力できなくなります。

選択肢は別シートで管理しよう

選択肢が増えたり変更されたりする場合を考え、選択肢専用のシートを作成し、そこからリストを読み込むとメンテナンスが格段に楽になります。入力規則の条件で「プルダウン(範囲内)」を選び、マスタシートの範囲を指定します。

Step 3: 納期遅延を視覚的に防ぐ「条件付き書式」

納期が迫っている案件や、すでに納期を超過してしまった案件をひと目で分かるように、セルの色を自動で変える条件付き書式を設定しましょう。

ここでは、以下の2つのルールを設定してみます。

  • ルール1: 「完了」していない案件で、納期が3日以内に迫っている場合は「黄色」にする
  • ルール2: 「完了」していない案件で、納期を過ぎている場合は「赤色」にする

ルール1(納期3日前):黄色の設定

カスタム数式の入力欄に、以下の関数を入力し、背景色を黄色に設定します。

=AND($F2<>"完了", $J2<>"", $J2-TODAY()<=3, $J2-TODAY()>=0)
  • $F2<>”完了”:ステータスが「完了」ではない
  • $J2<>””:納期が空欄ではない
  • $J2-TODAY()<=3:納期と今日の日付の差が3日以下
  • $J2-TODAY()>=0:納期が今日以降(期限超過ではない)

ルール2(納期超過):赤色の設定

「別のルールを追加」をクリックし、同様にカスタム数式で以下の関数を入力し、背景色を赤色に設定します。

=AND($F2<>"完了", $J2<>"", $J2<TODAY())
  • $J2<TODAY():納期が今日より前(期限を過ぎている)

これで、日付が変わると自動的に条件が再計算され、対応が必要な案件が視覚的にハイライトされます。

Step 4: 「進捗遅延」を数値で把握して納期を守る

日付ベースの納期アラートに加え、案件の「進捗ペース」を可視化することで、より早い段階で遅延リスクを察知できます。「このままのペースで進めて、本当に納期に間に合うのか?」を判断するための指標を追加しましょう。

まず、「案件管理表」に「理想進捗率」と「進捗差異」の2列を追加します。

1. 祝日リストを準備する

より正確な進捗を計算するために、会社の休日(祝日や創立記念日など)をまとめたシートを「祝日」という名前で作成し、A列に日付を一覧で入力しておきます。

2. 理想進捗率を計算する

「理想進捗率」とは、「もし案件が計画通りに進んでいれば、今日時点で何%完了しているべきか」を示す指標です。土日祝日を除いた営業日ベースで計算すると、より実態に近くなります。

=MAX(0, MIN(1, NETWORKDAYS(I2, TODAY(), '祝日'!A2:A) / NETWORKDAYS(I2, J2, '祝日'!A2:A)))
  • NETWORKDAYS(開始日, 終了日, 祝日!A:A):開始日から終了日までの土日「祝日」を除いた日数を計算します。
  • MAX(0, MIN(1, …)):計算結果を常に0〜1(0%〜100%)の範囲に収めます。これにより、プロジェクト開始前は0%、納期超過後は100%と表示され、より直感的に分かりやすくなります。

3. 進捗差異を可視化する

「進捗差異」は、実績の進捗率と理想進捗率の差です。この数値がマイナスの場合、計画より遅れていることを意味します。
※理想進捗率がL列に追加されたと仮定した場合の数式です。

=H2 - L2
  • H2:実績の進捗率
  • L2:理想進捗率

この「進捗差異」の列に条件付き書式を設定し、「0未満」の値を色付けすれば、遅延している案件が一目瞭然になります。

Step 5: 状況を瞬時に把握する「集計用ダッシュボード」

案件リストが長くなってくると、全体像を把握するのが難しくなります。そこで、別のシートに「ダッシュボード」を作成し、QUERY(クエリ)関数を使って特定の条件の案件だけを抽出したり、COUNTIF(カウントイフ)関数で状況を集計したりしてみましょう。

担当者別のタスクリストを抽出

QUERY関数は、データの中から指定した条件に合うものを抽出・集計できる、非常に強力な関数です。

=QUERY(
  '案件管理表'!A1:M1000,
  "SELECT A, C, E, F, J, M WHERE E = '田中 太郎' AND F <> '完了'"
)
  • ポイント: 範囲をA:Mのような列全体ではなくA1:M1000のように限定し、SELECT *ではなく必要な列(A, C, Eなど)だけを指定すると、シートのパフォーマンスが向上します。

案件管理表の列構成は、Step4で列を追加した後のM列までを想定しています。追加前は、ご自身の表の最終列(例:K列)に合わせて調整してください。

ステータスごとの案件数を集計

COUNTIF関数を使えば、指定した条件に一致するセルの個数を数えることができます。

=COUNTIF('案件管理表'!F:F, "進行中")

これらの集計結果をダッシュボードにまとめておけば、シートを開くだけでプロジェクト全体の健康状態を瞬時に把握できます。

【応用編】チームの稼働率を把握して業務を平準化

案件の進捗管理に慣れてきたら、次の一歩として「誰に」「どれくらいの」仕事が割り当てられているのか、稼働状況を可視化してみましょう。

Step 1: 稼働率の管理に必要なシートを準備する

稼働率を計算するためには、「誰が」「どの案件に」「いつからいつまで」「どれくらいの時間(割合)」を費やすのか、という計画データが必要です。

基本編で作成した「案件管理表」に加えて、以下の2つのシートを新たに作成します。

1. 従業員マスタ

メンバーの情報を管理します。

2. 工数計画

誰が、どの案件に、どれくらいの工数を割り当てるかを計画します。

  • 配分率: その期間中、その案件に自身の稼働時間のうち何割を費やすかを示します(1.0 = 100%)

Step 2: ダッシュボードで週次稼働率を計算・可視化する

次に、【基本編】で作成したダッシュボードシートを拡張し、担当者ごと・週ごとの負荷状況(配分率の合計)を計算・可視化するエリアを追加します。

1. 稼働率集計表のレイアウトを作成する

ダッシュボードシート内の空いているスペースに、集計用の表を作成します。

  • 表の縦軸となる列に従業員IDを並べます
  • 表の横軸となる行に各週の開始日(月曜日など)を並べます(例:2025/9/1, 2025/9/8…)

2. SUMPRODUCT関数で週次の負荷を合計する

表の中のセルに、SUMPRODUCT関数を使って以下の数式を入力します。

=SUMPRODUCT(
  ('工数計画'!$C$2:$C$1000=$A10) *
  ('工数計画'!$D$2:$D$1000<=B$9+6) *
  ('工数計画'!$E$2:$E$1000>=B$9) *
  '工数計画'!$F$2:$F$1000
)

この数式は、「工数計画」シートの中から、従業員IDが一致し、かつプロジェクト期間が対象週と重なる案件の配分率を合計するものです。これをメンバーごと、週ごとに行うことで、稼働計画表を作成できます。

入力後、セルの右下の●をドラッグして表全体にコピーすれば、担当者ごと・週ごとの負荷状況が完成します。

3. 条件付き書式(ヒートマップ)で負荷を可視化する

完成した表をより分かりやすくするために、条件付き書式の「カラースケール」機能でヒートマップを作成します。負荷が低い値を緑、高い値を赤に設定すれば、誰のどの時期が忙しいのかが一目瞭然になります。

さらなる効率化・高度化を目指す活用術

これまで紹介した関数や機能に加え、GASや他のツール・関数を連携させることで、さらに高度な案件管理が実現できます。

  • タイムライン作成(ガントチャート風): SPARKLINE関数や条件付き書式を応用して、シート内に簡易的なガントチャートを作成し、プロジェクトの期間を視覚的に表示する。
  • 入力フォームの作成: スプレッドシートを直接編集させず、専用の入力フォームから案件を登録する仕組みを作ることで、入力ミスや意図しないセルの変更を防ぐ。
  • 進捗報告からの工数自動算出: チャットツールでの日報などから「どの課題に何時間かかったか」をGASなどで自動抽出し、実績工数を記録します。これにより、進捗率をより実態に近い数値で算出できます。
  • 定期的なリマインド通知: Google Apps Script (GAS) を使い、毎朝自動でスクリプトを実行し、納期が迫っている案件を担当者のGmailに通知する。

まとめ

今回は、Googleスプレッドシートを活用して案件の進捗とチームの稼働率を管理する方法を解説しました。

  • 基本編では、データ検証や条件付き書式、進捗ペースの可視化によって、入力しやすく見やすい案件管理表を作成しました。
  • 応用編では、複数のシートを連携させ、チームメンバーの稼働負荷を可視化する方法を紹介しました。
  • さらに、GASを使えば、通知や入力を自動化できる可能性にも触れました。

いきなりすべてを完璧に作ろうとせず、まずは基本の案件管理表から始めてみてください。そして、チームで運用しながら、必要な項目を追加したり、ダッシュボードを改善したりと、自社に合わせて育てていくことが成功の秘訣です。

この記事が、あなたのチームの業務効率化の一助となれば幸いです。まずはテンプレートを参考に、あなたのチームだけの案件管理表を作成してみてはいかがでしょうか。

※Googleサービスは、Google LLC の商標であり、この記事はGoogleによって承認されたり、Google と提携したりするものではありません。