この記事にはプロモーションが含まれています
引継書の素材として必要な日程(諸々)データは、Googleカレンダー+GASを利用すれば4ステップであっという間!
年が明けると、会社や子ども関連の仕事もあと一息!…と思えてきます。
あと少し、頑張るぞ〜👍
…次の担当は誰になるかな?頑張って欲しいなぁ…。
あ!そうだ…!!
そうなんです。
やっと役目が終わる…!!と思っても次の人にキチンと仕事が引き継がれないと、まったく意味がないんですよね😅
とはいえ、
業務引継ぎって、すごく面倒くさい😭
せっかく1年間頑張ったんだから、振り返りや気づいたこと・改善点はぜひ、次に活かしてほしい!!
…と思う反面、年間の業務をイチから思い出して・振り返るのは、なかなか面倒です。
引継ぎ書に必要な
- 日程
- 詳細な時間
- 場所
なんてうろ覚えだし、今からファイルを掘り起こすのもめんどくさい…。
ていうか、日程や場所なら全部Googleカレンダーに記録してあるんだから、そのデータがそのまま使えたらかなり楽なんじゃない?!
…ということで、作ってみました👍
この仕組みが完成したら4ステップでGoogleカレンダーのデータを表にできます。
- カレンダーIDを入力
- データ取得期間を設定
- 「①カレンダーデータを取得」ボタンをクリック
- 「②値をコピーして新規シート作成」ボタンをクリック
という4ステップです。
完成すれば、
- 作成できた表から必要な部分だけをコピペして
- 業務の年間記録や来年度の年間予定表の土台にすることができるから、
- 引継ぎ書の作成がかなりラクになると思います😀
完成するとこんな感じです
すべて無料で完成させることができますので、よかったら試してみてくださいね。
目次
全体の流れ
以下の手順で、作成します😀
- このサイトからスプレッドシートをコピー
- データを取得するカレンダーのIDを調べる
- Google Apps Scriptで、カレンダーデータ取得の設定をする(ほぼ、コピペでOK👌)
- 完成したボタンを使って、カレンダーデータ一覧表を出力
- カレンダーデータ一覧表の必要な箇所を使って(コピペして)スプレッドシートで記録表や予定表を作成する
使うアプリやソフト
-
Googleカレンダー
このカレンダーデータをもとに、記録表・予定表を作成します。Googleカレンダー
Google LLC無料posted withアプリーチ
-
Googleスプレッドシート
- Googleの表計算ソフトです。無料です。
- Googleスプレッドシート
-
パソコン
- 簡単なプログラムの設定をしたり表計算ソフトを使うので、パソコンの方が入力しやすいです。
-
Google Apps Script
- このプログラミング言語を使って、カレンダーのデータを一気に取得します。これ以降、GASと表記します。
Google Apps Script とは?
- Googleが提供しているプログラミング言語です
- JavaScriptという簡単なプログラミング言語が元になっています
- Webブラウザ上で動くので、パソコンさえあれば特別に何かを用意する必要はありません
- 他にもGoogleドキュメントやスプレッドシート・Gmailなどと連携して、便利に使うことができるスクリプトです👍
ビジネスパーソンに贈る業務効率化大全
〜Google Apps Scriptによる業務の自動化〜
Google Apps Scriptを用いてG Suite(Googleフォーム、Googleスプレッドシート、Gmail等)の連携を行い、様々な業務を自動化してみよう。
参考サイト
以下のサイトを参考に作成しました。
GASを勉強するにあたって、ものすごく参考にさせてもらっています: いつも隣にitのお仕事 ↑↑このサイトの運営者さんが書かれたこちらの本↓↓も、かなりオススメです。
Oh Yeah to こ 関連ページ
この記録表・予定表で使用しているGASは、ほとんど以下 のページと同じつくりになっています。
興味のある方はこちら(月間家族カレンダー )もぜひ、ご覧ください😀
月間ファミリーカレンダーをパソコンで簡単手作り!(予定も一緒に印刷できる♪)
作成手順
ではさっそく、順番に作成しましょう👍
スプレッドシートをコピーする
ベースになるスプレッドシートがありますので、まずはこちらのボタンからスプレッドシートをコピーしてください。
注意とお願い
ご利用の皆様には「閲覧権限のみ」で、「アクセス権をお渡しすることはできません」ので必ず以下の方法にて、ご利用をお願いいたします🙇
- このスプレッドシートを利用する場合は必ず「コピーを作成」して、ご自身のGoogleドライブ内にコピーファイルを作成してください
- シートの関数をさわってしまうと、動作がおかしくなってしまいます。お取り扱いにご注意願います🙇
シートを開いて「ダウンロード」を選んでも、以降から使うスプレッドシートを使うことができません。
ファイル名を変更する
- ファイル名の変更:
ファイルをコピーするとファイル名が「カレンダーから引継書のコピー」になっています。適宜、ファイル名を変更しておきましょう- ファイル名はスプレッドシート左上のファイル名入力欄から変更できます。
- ファイル名はスプレッドシート左上のファイル名入力欄から変更できます。
- ファイルの場所を確認:
ファイルの場所は見失いがちですのであらかじめ、ファイルの場所を確認しておきます- ファイル名右側のフォルダアイコンから、場所を確認できます。(場所の移動もここからOK👌)
- ファイル名右側のフォルダアイコンから、場所を確認できます。(場所の移動もここからOK👌)
シートの確認
コピーしたスプレッドシートには、以下5枚のシートが含まれます。
- CalDataの素
- GASで取得したカレンダーのデータ表示に利用します。
- CalData整形
- CalDataの素で取得したデータを扱いやすくするために整形・加工するシートです。さわらなくて大丈夫です。
- (サンプル)データ加工用シート
- GASを実行して(ボタンを押して)出力されるシートのサンプルです。 このデータの必要な部分だけをコピペして、引継書が作成できます。
- (サンプル)活動記録
- データ加工用シートをもとに、サンプルとして作成した活動記録です。
- (サンプル)年間予定表
- データ加工用シートをもとに、サンプルとして作成した年間予定表です。
内容がだいたい確認できたら、サンプルは削除して大丈夫です👌
カレンダーデータのIDを調べる
まずは、データを取り出したいGoogleカレンダーのカレンダーIDを調べます。
- Googleカレンダー左側の「マイカレンダー」→「︙」(三点リーダ・縦)ボタンをクリック → 「設定と共有」を選択
- 設定画面が開きます。
- 設定画面が開きます。
- 画面下の方にある「カレンダーの統合」から、カレンダーIDをコピーする
- マウスで選択 → コピー してください。
- マウスで選択 → コピー してください。
スプレッドシートの設定と準備
- 「カレンダーから引継書」スプレッドシートに戻って、「CalDataの素」シートを開く
- シート右側にある「カレンダーID入力欄(赤枠内)」に、コピーしたIDをペースト
- うまくいかない場合は、入力欄をダブルクリックしてから入力すると良いです。
- データ取得開始月と終了月の設定をする
- 直接入力しても良いですし、ダブルクリックでカレンダーからも選択できます。
終了日・終了時間に関する注意点
終了日と終了時間のデータを正しく取得するために、ちょっと気をつけておく点があります。
ラジオ体操の実施期間をGoogleカレンダーで
- 8月1日から8月31日、7時~8時(終日のチェックボックスを外して入力)
と入力した場合、Googleカレンダーでは
- 8月1日7時から8月31日8時まで
と解釈されてしまいます。
これでは後で扱うデータに支障が出てしまいますので、日付をまたぐ(ラジオ体操の場合のような)予定のデータを取得したい場合は、
- 「終日」にチェックを入れる
- 8月1日から8月31日までの終日予定として、入力
- 時間の表記は「タイトル」や「説明欄」などで補う
のようにしてください。
終了時間の入力は、日をまたがなければ正しく取得できます😀
プログラム実行ボタンの確認
次に、「カレンダーから引継書」の「CalDataの素」シートに実行ボタンがあるか?確認をします。
コピーしたファイルの中に、
- ① カレンダーデータを取得(薄緑色)
- ② 値をコピーして新規シート作成(オレンジ色)
の2つのボタンがありますか?
実行ボタンの作り方
もしもボタンがない場合やカスタマイズしたい場合は、以下の手順でボタンを作成してください。
- 「挿入」から「図形描画」を選択
- 「図形」ボタン → 「図形」 → 好きな形を選択
- ドラッグ&ドロップで図形を作成する
- ドラッグ&ドロップで図形を作成する
- 「テキストボックス」を使って、テキスト作成
- テキスト・ボタンの位置を調節
- 「保存して終了」をクリック
すると、「CalDataの素」シートにボタンが表示されます😀
Google Apps Script(GAS)の設定
ここからは、
- カレンダーデータを取得
- Googleカレンダーの内容(設定した期間のカレンダーデータ)を取得して、「CalDataの素」シートに表示させる
- データシートファイルを作る
- 「CalData整形」から、素材として扱える表を作成
…をボタン1つで実行するためのプログラム(GAS)を作成します(コピペでOKです)。
-
スプレッドシートの「拡張機能」 → 「Apps Script」を選択
-
ファイル名「無題のプロジェクト」を変更
- ここでは「カレンダーデータ取得」とします。
- ここでは「カレンダーデータ取得」とします。
-
以下のスクリプトをコピペしてください
const spreadsheet = SpreadsheetApp.openById('******************************');//スプレッドシートのID
const sheet = spreadsheet.getSheetByName('CalDataの素');//元になるカレンダーデータシート
const rec_sheet = spreadsheet.getSheetByName('CalData整形');//データ整形のシート
const CALENDAR_ID = sheet.getRange('J1').getValue();//スプレッドシートからカレンダーIDを取得
const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
const CalName = calendar.getName();//取得カレンダー名、表示用
function getCalendarEvents() {
sheet.getRange(4, 1, sheet.getLastRow(), 6).clearContent();//実行時、カレンダー取得部分をクリアする
const startTime = new Date(sheet.getRange('J2').getValue());//スプレッドシートから開始月取得
const endTime = new Date(sheet.getRange('J3').getValue());//スプレッドシートから終了月取得
const events = calendar.getEvents(startTime, endTime);
const values = [];
for(const event of events){
const record = [
event.getStartTime(),
event.getEndTime(),
event.getTitle(),
event.getLocation(),
event.getDescription(),
event.isAllDayEvent()//終日イベントの判定
];
values.push(record);
}
sheet.getRange(4, 1, 1, 1).setValue(CalName);//カレンダー名の表示
sheet.getRange(5, 1, values.length, values[0].length).setValues(values);//カレンダーデータ表示
}
function copyToAntherSht() {
// 保存用 記録シート名前の設定
const date = new Date();
const NwSheetDate = Utilities.formatDate(date, 'Asia/Tokyo', 'データ加工用 yyyy-MM-dd HH:mm:ss');
const nsName = CalName + ' ' + NwSheetDate;
// 保存用 記録シートを作成
spreadsheet.insertSheet(nsName);
// 保存用 記録シートの表示設定
const getRange = rec_sheet.getRange('C1:S');//CalData整形からデータ取得
const setCell = spreadsheet.getSheetByName(nsName).getRange('A1');//記録用シートのセット
// 保存用 記録シートに値のみコピー
getRange.copyTo(setCell, {contentsOnly:true});
// 保存用 記録シートの見た目を設定
const headRange = spreadsheet.getSheetByName(nsName).getRange('A1:Q1');
headRange.setFontWeight("bold");
}
-
スプレッドシートIDを設定
const spreadsheet = SpreadsheetApp.openById('**************');//スプレッドシートのID
この部分 「*****
」を変更します。 -
スプレッドシートファイルのアドレスから、IDをコピペ。
https://docs.google.com/spreadsheets/d/*****************/edit
こちらの「*****************」の部分をGASファイルにコピペします。 -
スプレッドシートのシート名を変更した場合は、以下2つの場所を変更します
const sheet = spreadsheet.getSheetByName('CalDataの素');//元になるカレンダーデータシート
「CalDataの素」を変更
const rec_sheet = spreadsheet.getSheetByName('CalData整形');//データ整形のシート
「CalData整形」を変更 -
ファイルを保存します
ファイル名の横にオレンジ色の丸いマークがある場合は、データが保存されていません。- 「Ctrl」+「S」キーで保存 or.
- 「プロジェクトを保存マーク」をクリック
…で、スクリプトを保存しておきましょう。
GASの実行
すべての設定がうまくいっていれば、
- 「実行する関数を選択」して、
- getCalendarEvents( はじめにこちらを実行)
- copyToAntherSht
- 「実行ボタン」(選択した機能を実行)を押せば
- ”カレンダーデータを取得”して
- 取得したデータの”値をコピーして新規シート作成”
…が、できます😀
実行する関数の内容
- getCalendarEvents
- 選択したカレンダーのイベント情報を取得するための関数です。
実行されると、「CalDataの素」シートに情報が表示されます。
- 選択したカレンダーのイベント情報を取得するための関数です。
- copyToAntherSht
- 「CalData整形」シートで加工したデータは関数が混じっているので、そのままコピペすると表示がおかしくなってしまいます。
引継書の素材として使えるように、数字だけを取り出した新規シートを作成する関数です。
- 「CalData整形」シートで加工したデータは関数が混じっているので、そのままコピペすると表示がおかしくなってしまいます。
実行ボタンの設定
さて、GAS部分は完成しましたがこれだと、毎回 GAS ページを開くのが面倒です😰
…ということで、スプレッドシートの実行ボタンにスクリプトを割り当てて、ボタンをクリックするだけでスクリプトが実行できるようにしましょう。
-
スプレッドシートの「CalDataの素」にある「①カレンダーデータを取得」ボタンを選択
-
ボタン右上に表示された「︙(三点リーダ・縦)」 → 「スクリプトを割り当て」を選択
-
どのスクリプトを割り当てるか?聞かれるので、GASで実行確認した関数名(getCalendarEvents)を入力して「OK」
-
ボタンをクリックして動作確認
これで、「①カレンダーデータを取得」ボタンが完成しました。 「②値をコピーして新規シート作成」ボタンも同様に設定します。
引継書の作成
以上で引継書の素材として扱えるファイルが完成しました😀 あとはこの引継書素材ファイルをコピペして、引継書を完成させましょう👍
他のGoogleカレンダーデータを使いたい場合は?
自分のアカウントであれば、カレンダーIDを変更するだけで他のGoogleカレンダーデータも表にすることができます👌
今回はすでにいろいろな設定が済んでいますので
- カレンダーIDを入力
- データ取得期間を設定
- 「①カレンダーデータを取得」ボタンをクリック
- 「②値をコピーして新規シート作成」ボタンをクリック
…と、たった4ステップで引継書素材ファイルが完成します!
サンプルファイルについて
- 活動記録は日時が確定しているので、細かい時間まで表記
- 予定表はおおよその時期や期間がわかるように
…といったイメージです😉
ビジネスパーソンに贈る業務効率化大全
〜Google Apps Scriptによる業務の自動化〜
Google Apps Scriptを用いてG Suite(Googleフォーム、Googleスプレッドシート、Gmail等)の連携を行い、様々な業務を自動化してみよう。
まとめ
1年間の振り返り・日時や場所までをキッチリ書き出すのはとても大変で面倒ですが、こうやってデータを抜き出してしまえば少し気持ちが軽くなりますね。
この表を元にすれば、面倒な😅引継書作成の第一歩も踏み出しやすくなるのではないかな?(なったら良いな)と思います😀
ぜひ試してみてくださいね。
では!