スプレッドシートでプロジェクトの工数管理表を作る

Googleスプレッドシートを使って、プロジェクトの担当者ごとの日々の予定や実績を記入する工数管理表を作ります。サンプルも掲載しています。

はじめに、完成形から

この記事で使い方・作り方を解説する工数管理表の完成形はこちらです。

完成形

サンプルのスプレッドシート:工数管理表

このサンプルは閲覧専用になっていますが、コピーすれば自由に編集したり、条件付き書式の中身を見たりできます。ご自由にお使いください。

シートの使い方

シートの作り方と使い方を細かく分けて見ていきます。まずはシートの使い方を解説し、その後シートの作り方(数式の意味の説明なども含む)を解説します。

担当者と1日上限

担当者と1日上限

C1:D4の範囲に、プロジェクトのメンバー全員の名前と、1日に使える時間の上限を入力します。

担当者の名前は、次に入力するタスク一覧の担当者の選択肢としても使用します。人数が増えた場合は行を追加してください。

1日に使える時間の上限は、メンバーが複数のプロジェクトに参加している場合に、1日のうち最大でどれくらいの時間をこのプロジェクトに使えるかを記入します。単位は分です。

1日8時間勤務で1つのプロジェクトにすべての時間を使えるとしたら480分が上限になりそうですが、この点はよく注意してください。たとえば朝礼のようなプロジェクトとは関係のない定期ミーティングや、臨時休憩の時間を引いておかないと、その分は残業してやるという予定になってしまいます。個人的な経験としては、480分の業務時間の中で、300分くらいをプロジェクトに使えている日が、適度に休憩時間も取れて生産性の高い状態を維持できている日かなという実感があります。

タスク

タスク

プロジェクト完了に必要なタスクを記入します。

プロジェクト初期に、想定できるタスクを洗い出してタスク欄(B7から下)に入力し、「予定(分)」の列に見積もり時間を入力します。60分以内とか、少なくとも1日以内に完了できる粒度でタスクを分割できるのが良いですが、洗い出しの段階では詳細にできなくても大丈夫です。あとで細かくしていきましょう。細分化するための「〇〇タスクの細分化」といったようなタスクを積んでおくと予定が立てやすくなります。

ここの「担当者」は、先述した「担当者と1日上限」の範囲に入力した担当者から指定します。

「状態」はサンプルでは完了が入力できるだけですが、プロジェクトの状況に応じて「作業中」や「保留」などの種類を追加するのも良いでしょう。

「実績」と「予定/実績比」は数式で自動計算されます。

予定時間の入力

時間の入力

各タスクを行う予定を立てます。日付の列に、それぞれのタスクを行う予定の時間を入力していきましょう。サンプルの表の例では、「1. プロジェクト企画書の作成」を8月1日に120分かけて行う予定なので、H7に120と入力します。予定を何日かに分けて入力しても問題ありませんが、合計時間がE列の「予定」と同じになるように入力していってください。同じになっていれば、計画時点ではG列「予定/実績比」が100%になります。

「予定/実績比」は、予定を実績で割った値です。タスクの予定を立てている(まだ実施していない)段階では、ここが100%になるように予定を組んでいきます。100%より少ない場合は、タスクを完了するために必要な見積もり時間が確保できていないということになり、逆に100%を超えている場合は時間を多く取りすぎているということがわかります。

また、表の上の方にも目をやり、各担当者の1日上限の値を超えていないか(セルが赤くなっていないか)にも注意しましょう。タスクの順番を変えたりしていると、意外とここを見落とすことがあります。計画通りにタスクをこなしていくのはただでさえ難しいので、せめて計画時点では実行可能な状態にしておきたいところです。

タスクの実施

計画が完成したら、実際にタスクを実施します。タスクが完了したらD列「状態」を完了に変更し、予定として日付の列に入力していた時間を実際かかった時間に書き換えます。

ただし、この方法では各セルに入力されている数値が予定なのか実績なのかわからないという問題があります。実績を入力したら手動でセルの色を変える、などとするのが良いでしょう。(以前、予定と実績を別のシートで管理するようなこともやってみたのですが、予定と実績のシートが複雑に連携していて、予定を変更する際のコストが非常に高くなってしまったというか、誰かが予定を更新するたびに表がバグるという状態になってしまいました。なので、実績の数値に書き換えたら手動でセルの色を変更する、といったくらいのライトな運用に私は結局落ち着いています。)

タスクを実行後は、「予定/実績比」の数字から、見積もり時間と実際にかかった時間の差異を測ることができます。100%を超えていたら、見積もりより時間がかかった、ということになります。

シートの作り方

ここからは工数管理表の作り方について、基本的な数式は除いて、少し複雑な部分に絞って解説します。

担当者ごとの合計時間の集計

担当者ごとの合計時間の集計

この部分は、1日ごと・担当者ごとのタスクの予定時間の合計を取得して表示します。条件付き書式を使って、各担当者の1日上限の時間を超えていた場合は赤い色が背景に適用されます。

H2に入力されている数式はこちらです。

=SUMIF($C$7:$C,$C2,H$7:H)

数式の構造は、=SUMIF( ● , ▲ , ■ )となっています。それぞれの中身の意味を確認していきましょう。

順番が前後しますが、▲の部分の意味からです。ここには、各行の担当者の名前が入るようにします。担当者の名前は、H以降のどの列から見てもC列にいるので、$Cとして列を絶対参照にします。行は、H2の同じ行を見たいので、相対参照で2とします。

●の部分では、担当者が▲の条件のタスクを探します。各タスクの担当者が入力されているのはC7から下なので、●の部分には$C$7:$Cと入力します。ここでは、$7のように行も絶対参照にします。

■の部分で、時間の合計する範囲を指定するため、H$7:Hとします。自分のいる列を見るためHは相対参照、どの担当者から見ても7行目から下を合計するので$7と絶対参照にします。

ここまでの条件を日本語で表現すると、C列の7行目から下の範囲に(●:$C$7:$C)C列の担当者の名前が入力されている場合(▲:$C2)7行目から下の数字を合算する(■:H$7:H)、といった感じです。

H2の数式を入力したら、セルを選択すると右下に表示される■を引っ張って、オートフィル機能で他のセルにも数式を入れていきます。絶対参照・相対参照の指定を間違っていなければ、オートフィルだけですべての日付・すべての担当者のセルを埋めることができるはずです。

担当者のリストを範囲から指定

タスクの担当者欄は、C2からC4に記載した担当者から選択できるようにします。ここが少しでも異なっていると(たとえば半角スペースが混ざっている、など)、時間がうまく集計できません。

条件付き書式

表が見やすくなるよう、いくつか条件付き書式を設定します。設定した条件付き書式はこちらです。

条件付き書式

以下の条件付き書式は、過去記事でも解説しています

  • あるタスクが完了したら行全体をグレーアウトする
  • 日付から自動で土日と祝日を判別する

その他には、

  • 空白セルを薄いグレーにする
  • 「予定/実績比」にカラースケールを適用し、予定時間を超過しているほど濃い赤にする
  • 1日上限の時間を超えていたら赤にする

という条件を使用しています。

おわりに

スプレッドシートを使ったプロジェクトの工数管理表の、使い方と作り方を解説してきました。それほど多機能性を求められていない場合、スプレッドシートでさくっと作れる工数管理表は、私は重宝しています。

担当者の部分を「カテゴリー」のように使って、チームではなく個人のタスク管理表としても使ってもいいかもしれません。興味のある方は、プロジェクトに合わせてアレンジしてみてください。

最後までお読みいただきありがとうございました。