はじめに
- 仕事をする上で、日々のタイムマネジメントは基本的でもありますがとても重要なことです。
- ただ、業務は日々変わるものですし、たくさんの業務を抱えているとタスクの優先度や時間管理が疎かになり、不透明さが増してしまったりします。
- そこで、今回は日々のタスクをGoogleカレンダーに登録された予定からタイムスケジュールを作成するスクリプトを作ってみました。
- 作成されたスケジュールを元に、タスクや時間管理が見える化されることにより落ち着いて業務をこなせるようになればと思っております。
準備すること
-
Googleカレンダーに2週間以内の予定を設定してください。
-
タイムスケジュールマスタを開き、「ファイル > コピーを作成」からドキュメントを作成してください。
-
Google Apps Scriptを開き、categorizeSchedule.gsおよびtimeSchedule.gsをファイルごとコピーしてください。
-
1のコピーしてきたスプレッドシートの「ツール > スクリプトエディタ」を開き、2のGoogle Apps Scriptを作成してください。
タイムスケジュールマスタの各シートについて
スケジュール設定
スケジュールの開始日と終了日を設定します。
シート上のボタンをクリックすることにより、スケジュールの作成を実行します。
カテゴリ設定
スケジュールの予定に特定のキーワードが含まれている場合に、このシートで予め設定されたラベル名と色にスケジュールの予定を変換します。
スケジュール
スケジュールが生成されるシートです。
工数内訳
各タスクの合計値や工数を算出するシートです。
GoogleAppsScriptなどとの連動はしていないのであくまでオプションとなっております。
祝日一覧
スケジュールシートに祝日を反映させるための祝日のマスタです。
Google Apps Scriptの各スクリプトについて
categorizeSchedule.gs
予め設定されたカテゴリを特定のキーワードに基づいてスケジュールの予定を置換し、セルの色付けを行います。
timeSchedule.gs
Googleカレンダーからスケジュールを取得し、各セルに挿入しています。
基本的に30分区切りなのではまるめていたりします。
Googleカレンダーのログインユーザのスケジュールを取得しています。
予定が2つ以上の部分は赤い色のセルでコンフリクトを表示しています。
注意点
- シート名やシートのフォーマットを変更すると正常に動作しない可能性があります。
- GoogleAppsScriptは、実行時間に5分以上かかるとタイムアウトエラーとなります。もし、発生した場合は再度実行していただくか、スケジュール期間を短くしてください。
- もし、シートのボタンから正常に実行できない場合は、スクリプトの紐付けが外れている可能性があります。紐付けしなおしていただくか、スクリプトエディタの実行ボタンから実行してください。
- ソースコードがところどころイケていないですが、ご了承ください。
実行イメージ
スケジュールの作成
LOとはleave office(退社)
カテゴライズ
まとめ
- 今回、はじめてGoogleAppsScriptを使ったコーディングを行ったが、JavaScriptとセル操作に関する関数を覚えれば良いだけなので馴染みやすかった。
- 実行時間を工夫する上で1セルではなく1行もしくは1列毎に予めデータを整形したあとにシートに挿入するのが早いのかもしれない。
- あまり継続して使うのかどうか怪しいがGoogleカレンダーの予定とズレが生じないのでこれはこれで個人的には満足。
外部参照
タイムスケジュールマスタ
Google Apps Script