【簡単】Googleカレンダーの予定からシート転記で月次の業務実績表を作成する方法
Googleカレンダーの予定からGoogleスプレッドシートをつかった、月次の業務実績表を作成する方法、流れを解説します。
自分の業務の棚卸し、振り返りなどしたいときなど便利です。
Googleカレンダーの良い点
・作成が簡単
・スプレッドシートと連携できる
Googleスプレッドシートの良い点
・作成が簡単
・Googleカレンダーなどと連携できる
・プログラミングなどもでき、カスタマイズができる
GoogleカレンダーとGoogleスプレッドシート連携、作成の流れ
まず、GoogleアカウントでGoogleにログインします。
Googleカレンダーで連携したいアカウントを選択します。
該当カレンダーの設定をクリックします。
該当カレンダーの設定をクリックします。カレンダーIDをコピーしておきます。連携で使用します。
次に、Googleスプレッドシートを新規作成します。
1行目、各列に記載します。
A列 タイトル
B列 開始日時
C列 終了日時
D列 任意(サンプルは、開始と終了の差分、経過時間を関数で計算する列)
リボンメニューの「拡張機能」をクリックし、「Apps Script」をクリックします。
「Apps Script」が別タブで開かれます。
コード.gsというファイルの詳細が右記に記載されており、サンプルコードで、function myFunction(){}と書かれています。
ここに、カレンダー連携と表作成のコードを上書きします。
コードは下記です。すべてを元のコードから上書きしてコピペします。
コードを置いておきます。
const CALENDAR_ID = 'ここにカレンダーIDを記載'; //カレンダーID
function getCalendarEvents() {
const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
const startTime = new Date('2021/12/01 00:00:00'); //カレンダーのどこから取得するか、任意で変更してください
const endTime = new Date('2021/12/31 23:59:59'); //カレンダーのどこまで取得するか、任意で変更してください
const events = calendar.getEvents(startTime, endTime);
const values = [];
for(const event of events){
const record = [
event.getTitle(),
event.getStartTime(),
event.getEndTime()
];
values.push(record);
}
SpreadsheetApp.getActiveSheet().getRange(2, 1, values.length, values[0].length).setValues(values);
}
コードを記載したら、code.gsというファイル自体を上書きします。
※「Apps Script」のプロジェクト名自体は、下記画像左上の「無名のプロジェクト」となっています。ここも任意で変更しても大丈夫です。
上書き、「実行」してみます。
まだ連携していないので、下記のように、アラートが出ます。
承認手続きに進みます。「権限を確認」をクリックします。
Google確認のない状態なので、アラートっぽい画面ですが、自身が作成したので、問題ありません。
「詳細を表示」をクリックし、
「無題のプロジェクト(※プロジェクト名)に移動」をクリックします。
プロジェクトとアカウントの連携です。情報取得するための許可をする必要があります。
「許可」をクリックします。
Googleスプレッドシートにコードが「実行」されていれば、下記のように記録されます。
※記録されていない場合、「Apps Script」から再度「実行」してみてください。
以上で、カレンダー連携と、表作成は完了です。
表の微修正
ここからは、表の微修正です。下記を対応します。
修正点
・経過時間を関数計算
・開始、終了日時の表記を時間までの表記に変更
※経過時間の計算、入力は、Apps Scriptでもできますが、こちらのほうが簡単ですので、さくっとやります。
D列に、開始と終了日時から「経過時間」を関数計算します。
=if(C3-B3=1,"",C3-B3)
をサンプルは3行目に記載してます。
各行にコピペしてください。
経過時間が記載されました。
次に、時間単位に表記を変更します。
シート、リボンメニュー、「表示形式」から「数字」、「経過時間」をクリックします。
経過時間に変更されました。
次に、開始、終了日時の表記を時間まで表記されるように変更します。
経過時間と同じ要領で、
シート、リボンメニュー、「表示形式」から「数字」、「日時」をクリックします。
以上です。
Web担当業務で現場で使っている、Webの改善と業務効率まわりの記事少しずつ書いていきます。
Web担当の外注依頼を相談したい方
お気軽に相談ください。
自社のWeb改善、Webマーケティングあたりを自分でしたい方
Web担当としての現場スキルをもとに、個別講座も実施しています。
サポートは今後のより良い情報発信に活用させていただきます。