前まではざっくり30分単位で時間を管理していましたが、やはり楽しい仕事はやりすぎてしまい、やるべきことができなくなってきたので、Excelの関数だけでタスク管理システムを作ってみました。
自分で入力するのは、以下のもの。
- 本日の日付
- タスク名(必要に応じて、顧客名・こなすべき量を別の列に入力)
- 予定…そのタスクにかかる予定の時間(分)
- 終了時刻…そのタスクを実際に終えたときの時刻
ここから、次のものを自動計算するというものです。
- 実績……そのタスクにかかった時間(分)
- 差異…予定と実績の差(分)
- 予定終了期限…「予定」にもとづく締めきり時間。すべて入力し終わると、今日の仕事が終わる予定時刻が分かる
- 改定終了期限…実際の「終了時刻」を入力すると、それに次のタスクの予定(分)を加算して、予定終了期限を前倒し・後ろ倒しにした時刻を表示する
- 今日の仕事が終わる予定時刻に、差異を加減した最新版の終了予定時刻
入力
予定(分)は、ふつうに10進数で入力します。
終了時刻は、タスクを終えた時刻を 2014/3/14 13:30 という日付書式で入力します。
計算式
実績(分)=タスクの終了時刻-前のタスクの終了時刻
Excelの算式で表現すると、次のようになります。「×1440」は、「×60×24」という意味で、「時刻ー時刻」の計算結果を、分単位に変換する式です。
=IF(([この行の終了時刻]-[前の行の終了時刻])*1440<0,0,[この行の終了時刻]-[前の行の終了時刻]*1440)
差異(分)=実績(分)-予定(分)
=IF([実績]=0,0,[実績]-[予定])
終了予定期限=前のタスクの終了時刻+予定(分)
=[前の行の終了予定期限]+[予定]/1440
「÷1440」は、「÷(60×24)」という意味で、分単位を時刻の日付書式に変換する式です。
コツとしては、タスク管理の表の1行目の「予定終了期限」は開始行として、今日の仕事の開始時刻を入れておきます。
これにより、すべてのタスクの予定(分)を入力すると、最後の行の「予定終了期限」の時刻が、本日の仕事終了予定時刻になります。
改定終了期限=前の行の終了時刻+この行の予定(分)
=IF([前の行の終了時刻]=0,"",[前の行の終了時刻]+[予定]/1440)
これを作ると、予定よりも早まったり遅くなったりした場合に、次のタスクを予定どおりに終えた場合の終了時刻が表示されます。
実績を反映した終了予定時刻=予定終了期限の最後の行の時刻±差異(分)の合計(セル参照のままですが)
=INDIRECT("H" & ROW(H26)+COUNTA(H27:H40))+SUM(G27:G40)/1440
画像を再掲します。
予定の分数をすべて入力すると算出される予定終了期限の最後の時刻に、実績との差異を加減することで、現状の進み具合だと実際にはこの時間に終わる、というのを表示しっぱなしにできます(右上の水色の行の改定終了期限)。
ただ、タスクの行を追加したりすると関数の範囲指定を見直す必要が出てくるので、ちょっと暫定的に運用中です。
このタスク管理をしてよかったこと
常に、すべてのタスクに締め切りを用意することで、能率が上がったり、やり忘れ・やりすぎを低減できました。
当初の予定終了時刻が表示されたままなので、多少遅れていても、次のタスクを予定どおりの終了時刻に終えれば、遅れが取り戻せることも分かります。
遅れが発生すると、最終的にいつすべてのタスクが終わるのかもモニターできるので、なかなか便利です。
お問い合わせいただければ、Excelシートを提供いたしますので、分析してみていただければと思います。
今日のはじめて
タスク管理ツールの整備