Googleカレンダーの記録(データ)を使って、引継書をラクラク作成😀

引継書に必要な日程データは、Googleカレンダーのデータをボタン一つでコピーして解決させる!

年が明けると、子ども関係の仕事もあと一息!…と思えてきます。 あと少し、頑張るぞ〜👍

…次の担当は誰になるかな?頑張って欲しいなぁ…。 あ!そうだ…!!

引継書作んないといけないのか…(正直、面倒くさい😅)

そうなんです。 やっと役目が終わる…!!と思っても次の人にキチンと仕事が引き継がれないと、まったく意味がないんですよね😅

引継ぎが面倒くさい

とはいえ、

業務引継ぎって、すごく面倒くさい😭

せっかく1年間頑張ったんだから、振り返りや気づいたこと・改善点はぜひ、次に活かしてほしい!! …と思う反面、年間の業務をイチから振り返るのは、なかなか面倒です。

あれを、ああやっておけば…!とか、こうしたら良いよ😉みたいなことは、たくさん思いつくのですけれど💦

引継ぎ書に必要な

カレンダー
  • 日程
  • 詳細な時間
  • 場所

なんてうろ覚えだし、今からプリントを掘り起こすのもめんどくさい…。

ていうか、日程や場所なら全部Googleカレンダーに記録してあるんだから、そのデータがそのまま使えたらかなり楽なんじゃない?!

…ということで、作ってみました👍

この仕組みが完成したらボタンひとつでGoogleカレンダーのデータを表にできます

コピペでOK!
  1. 作成できた表から**必要な部分だけを抜き出し(コピペし)**て
  2. 業務の年間記録来年度の年間予定表の土台にすることができるから、
  3. 引継ぎの工程がかなりラクになると思います😀

完成するとこんな感じです

↓↓日程がおかしい(表の年度など)ですが、サンプルということでご容赦ください🙇
年間活動記録表イメージ
年間活動記録表イメージ
年間予定表イメージ
年間予定表イメージ

ちょっと設定が面倒に感じられるかもしれませんが、一度仕組みを作ってしまえば、何度でも使うことができます

すべて無料で完成させることができますので、よかったら試してみてくださいね。

全体の流れ

以下の手順で、作成します😀

  1. このサイトからスプレッドシートをコピー
  2. データを取得するカレンダーのIDを調べる
  3. Google Apps Scriptで、カレンダーデータ取得の設定をする(ほぼ、コピペでOK👌)
  4. 完成したボタンを使って、カレンダーデータ一覧表を出力
  5. カレンダーデータ一覧表の必要な箇所を使って(コピペして)スプレッドシートで記録表や予定表を作成する

この記事はGoogleカレンダーに行事・業務予定を入力していた場合を想定しています。
それ以外のカレンダーデータは取り出せませんので、ご了承ください🙇

この仕組み、私の全力で作成しておりますが引継書でのトラブルはかなりシビアなものになると予想されます😰
最終的なカレンダーデータの確認を必ず行ってくださいますよう、よろしくお願いいたします🙇

使うアプリやソフト

  • Googleカレンダー このカレンダーデータをもとに、記録表・予定表を作成します。
    Googleカレンダー

    Googleカレンダー

    Google LLC無料posted withアプリーチ

  • Googleスプレッドシート Googleの表計算ソフトです。無料です。 Googleスプレッドシート
  • パソコン 簡単なプログラムの設定をしたり表計算ソフトを使うので、パソコンの方が入力しやすいです。
  • Google Apps Script このプログラミング言語を使って、カレンダーのデータを一気に取得します。これ以降、GASと表記します。

GASの部分はほとんどコピペで完成できます(多少の設定アリ)😉

Google Apps Script とは?

コピペ
  • Googleが提供しているプログラミング言語です
  • JavaScriptという簡単なプログラミング言語が元になっています
  • Webブラウザ上で動くので、パソコンさえあれば特別に何かを用意する必要はありません
  • 他にもGoogleドキュメントやスプレッドシート・Gmailなどと連携して、便利に使うことができるスクリプトです👍

参考サイト

以下のサイトを参考に作成しました。

GASを勉強するにあたって、ものすごく参考にさせてもらっています: いつも隣にitのお仕事 ↑↑このサイトの運営者さんが書かれたこちらの本↓↓も、かなりオススメです。

Oh Yeah to こ 関連ページ

この記録表・予定表で使用しているGASは、ほとんど以下 のページと同じつくりになっています。

興味のある方はこちら(月間家族カレンダー )もぜひ、ご覧ください😀

月間ファミリーカレンダーをプリンターで手作り!(予定込で印刷できますよ)

作成手順

ではさっそく、順番に作成しましょう👍

スプレッドシートをコピーする

ベースになるスプレッドシートがありますので、まずはこちらのボタンからスプレッドシートをコピーしてください。

注意とお願い

ご利用の皆様には「閲覧権限のみ」で、「アクセス権をお渡しすることはできません」ので必ず以下の方法にて、ご利用をお願いいたします🙇

  • このスプレッドシートを利用する場合は必ず「コピーを作成」して、ご自身のGoogleドライブ内にコピーファイルを作成してください
  • シートの関数をさわってしまうと、動作がおかしくなってしまいます。お取り扱いにご注意願います🙇

シートを開いて「ダウンロード」を選んでも、以降から使うスプレッドシートを使うことができません。

ファイル名を変更する

  • ファイル名の変更 ファイルをコピーするとファイル名が「カレンダーから引継書のコピー」になっています。適宜、ファイル名を変更しておきましょう
    • ファイル名はスプレッドシート左上のファイル名入力欄から変更できます。
    ファイル名を変更する

ここでは「カレンダーから引継書」とします。

  • ファイルの場所を確認 ファイルの場所は見失いがちですのであらかじめ、ファイルの場所を確認しておきます
    • ファイル名右側のフォルダアイコンから、場所を確認できます。(場所の移動もここからOK👌)
    ファイルの場所を確認する
シートの確認
シートを確認

コピーしたスプレッドシートには、以下5枚のシートが含まれます。

  1. CalDataの素
    • GASで取得したカレンダーのデータ表示に利用します。
  2. CalData整形
    • CalDataの素で取得したデータを扱いやすくするために整形・加工するシートです。さわらなくて大丈夫です。
  3. (サンプル)データ加工用シート
    • GASを実行して(ボタンを押して)出力されるシートのサンプルです。 このデータの必要な部分だけをコピペして、引継書が作成できます。
  4. (サンプル)活動記録
    • データ加工用シートをもとに、サンプルとして作成した活動記録です。
  5. (サンプル)年間予定表
    • データ加工用シートをもとに、サンプルとして作成した年間予定表です。

内容がだいたい確認できたら、サンプルは削除して大丈夫です👌

サンプルの年間予定表 → 大まかな予定表示として「上旬・中旬・下旬」「○日間」…と、期間がわかるようにしてみました。
サンプルの活動記録 → 詳細な記録がわかるように、「日程」「開始・終了時間」の表示にしてみました。

カレンダーデータのIDを調べる

まずは、データを取り出したいGoogleカレンダーカレンダーIDを調べます。

  1. Googleカレンダー左側の「マイカレンダー」→「︙」(三点リーダ・縦)ボタンをクリック → 「設定と共有」を選択
    • 設定画面が開きます。
    3点リーダ縦をクリック
  2. 画面下の方にある「カレンダーの統合」から、カレンダーIDをコピーする
    • マウスで選択 → コピー してください。
    カレンダーの統合

カレンダーID例)
**ランダム英数字**@group.calendar.google.com
.com」まで全部、コピーします。

スプレッドシートの設定と準備

  1. 「カレンダーから引継書」スプレッドシートに戻って、「CalDataの素」シートを開く
  2. シート右側にある「カレンダーID入力欄(赤枠内)」に、コピーしたIDをペースト
    • うまくいかない場合は、入力欄をダブルクリックしてから入力すると良いです。
    カレンダーIDをペースト
  3. データ取得開始月と終了月の設定をする
    • 直接入力しても良いですし、ダブルクリックでカレンダーからも選択できます。
    取得開始月・終了月を設定する
終了日・終了時間に関する注意点

終了日と終了時間のデータを正しく取得するために、ちょっと気をつけておく点があります。

夏休みのラジオ体操を例にします。

ラジオ体操

ラジオ体操の実施期間をGoogleカレンダーで

  • 8月1日から8月31日、7時~8時(終日のチェックボックスを外して入力

と入力した場合、Googleカレンダーでは

  • 8月1日7時から8月31日8時まで

と解釈されてしまいます。

カレンダー終了日の注意

これでは後で扱うデータに支障が出てしまいますので、日付をまたぐ(ラジオ体操の場合のような)予定のデータを取得したい場合は、

  1. 「終日」にチェックを入れる
  2. 8月1日から8月31日までの終日予定として、入力
    • 時間の表記は「タイトル」や「説明欄」などで補う

のようにしてください。 終了時間の入力は、日をまたがなければ正しく取得できます😀

日付をまたぐ予定の設定

何年分のデータが取れるの?(注意点):
私のカレンダーに長ーい期間のデータが無かったためハッキリしないのですが、3年分のデータは取得できました。…が、これは取得する項目(データ)の量によると思います。
データ量が多い場合は分割して取得するなど、ケースバイケースでの対応をお願いします🙇💦

プログラム実行ボタンの確認

次に、「カレンダーから引継書」の「CalDataの素」シートに実行ボタンがあるか?確認をします。 コピーしたファイルの中に、

  1. ① カレンダーデータを取得(薄緑色)
  2. ② 値をコピーして新規シート作成(オレンジ色)

の2つのボタンがありますか?

実行ボタンの確認
実行ボタンの作り方

もしもボタンがない場合カスタマイズしたい場合は、以下の手順でボタンを作成してください。

  1. 「挿入」から「図形描画」を選択
    図形描画を選択
  2. 「図形」ボタン → 「図形」 → 好きな形を選択
    • ドラッグ&ドロップで図形を作成する
    図形を選択
  3. 「テキストボックス」を使って、テキスト作成
  4. テキスト・ボタンの位置を調節
    テキストボックスでテキスト作成

テキストボックスの入力範囲が大きすぎる場合は、文字入力後、ボックスのサイズを図形と同じぐらいにしておきます。

テキストが図形で隠れて見えなくなった場合は
図形を選択して右クリック → 「順序」 → 「最背面へ」
…で、テキストが上・画像が下に表示されます。

  1. 「保存して終了」をクリック
    保存して終了

すると、「CalDataの素」シートにボタンが表示されます😀

Google Apps Script(GAS)の設定

カレンダーイメージ

ここからは、

  • カレンダーデータを取得
    • Googleカレンダーの内容(設定した期間のカレンダーデータ)を取得して、「CalDataの素」シートに表示させる
  • データシートファイルを作る
    • 「CalData整形」から、素材として扱える表を作成

…をボタン1つで実行するためのプログラム(GAS)を作成します(コピペでOKです)。

注意点:
「CalData整形」シートは、スプレッドシートの関数で表示されているため、行の追加や削除を行うと表示が消えたり崩れてしまいます😅

  1. スプレッドシートの「拡張機能」 → 「Apps Script」を選択
    Apps Script を選択

「プロジェクトを作成しています」から、なかなかファイルが開かない場合は、一度そのファイル画面を消してもう一度
– 「拡張機能」 → 「Apps Script」を選択する
…とスムーズに開くと思います。

  1. ファイル名「無題のプロジェクト」を変更
    • ここでは「カレンダーデータ取得」とします。
    無題のプロジェクトを変更
  2. 以下のスクリプトをコピペしてください

  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");

  }
  1. スプレッドシートIDを設定

const spreadsheet = SpreadsheetApp.openById('******************************');//スプレッドシートのID

この部分 *****」を変更します。

  • スプレッドシートファイルのアドレスから、IDをコピペ。 https://docs.google.com/spreadsheets/d/*****************/edit こちらの「*****************」の部分をGASファイルにコピペします。
    ファイルアドレスからIDをコピー
  1. スプレッドシートのシート名を変更した場合は、以下2つの場所を変更します

const sheet = spreadsheet.getSheetByName('CalDataの素');//元になるカレンダーデータシート

「CalDataの素」を変更


const rec_sheet = spreadsheet.getSheetByName('CalData整形');//データ整形のシート

「CalData整形」を変更

ファイル名を変更するときにシート名の前後にある「'コレを消してしまうとエラーになりますので、注意。

  1. ファイルを保存します ファイル名の横にオレンジ色の丸いマークがある場合は、データが保存されていません。
GASの未保存マーク
  • 「Ctrl」+「S」キーで保存 or.
  • 「プロジェクトを保存マーク」をクリック プロジェクトを保存マーク

…で、スクリプトを保存しておきましょう。

GASの実行
GASが実行できた!

すべての設定がうまくいっていれば、

  1. 「実行する関数を選択」して、
    • getCalendarEvents( はじめにこちらを実行)
    • copyToAntherSht
  2. 「実行ボタン」(選択した機能を実行)を押せば
    関数を選択して実行
  • ”カレンダーデータを取得”して
  • 取得したデータの”値をコピーして新規シート作成”

…が、できます😀

GASを実行する際に「 承認が必要です 」という表示が出る場合は、こちらのサイトがとても参考になります!
参考:【初心者向けGAS】スクリプト実行時の「承認」でびっくりしないために

実行する関数の内容
  • getCalendarEvents
    • 選択したカレンダーのイベント情報を取得するための関数です。 実行されると、「CalDataの素」シートに情報が表示されます。
  • copyToAntherSht
    • 「CalData整形」シートで加工したデータは関数が混じっているので、そのままコピペすると表示がおかしくなってしまいます。 引継書の素材として使えるように、数字だけを取り出した新規シートを作成する関数です。
実行ボタンの設定

さて、GAS部分は完成しましたがこれだと、毎回 GAS ページを開くのが面倒です😰

…ということで、スプレッドシートの実行ボタンにスクリプトを割り当てて、ボタンをクリックするだけでスクリプトが実行できるようにしましょう。

  1. スプレッドシートの「CalDataの素」にある「①カレンダーデータを取得」ボタンを選択
  2. ボタン右上に表示された「︙(三点リーダ・縦)」 → 「スクリプトを割り当て」を選択
    スクリプトを割り当てを選択
  3. どのスクリプトを割り当てるか?聞かれるので、GASで実行確認した関数名(getCalendarEvents)を入力して「OK」
    実行したい関数名を入力

    一文字でも違うとエラーになりますので、注意しましょう😉

  4. ボタンをクリックして動作確認

再度「︙(三点リーダ・縦)」ボタンを表示させたい時は、ボタンを「右クリック」してください。

ボタンクリックで簡単

これで、「①カレンダーデータを取得」ボタンが完成しました。 「②値をコピーして新規シート作成」ボタンも同様に設定します。

スクリプトは「copyToAntherSht」を割り当てます。

引継書の作成

コピペでファイル作成

以上で引継書の素材として扱えるファイルが完成しました😀 あとはこの引継書素材ファイルをコピペして、引継書を完成させましょう👍

他のGoogleカレンダーデータを使いたい場合は?

自分のアカウントであれば、カレンダーIDを変更するだけで他のGoogleカレンダーデータも表にすることができます👌

今回はすでにいろいろな設定が済んでいますので

  1. カレンダーIDを入力
  2. データ取得期間を設定
  3. 「①カレンダーデータを取得」ボタンをクリック
  4. 「②値をコピーして新規シート作成」ボタンをクリック

…と、たった4ステップで引継書素材ファイルが完成します!

サンプルファイルについて

サンプルとして、完成版の「活動記録」と「年間予定表」のシートを入れてみました。

  • 活動記録は日時が確定しているので、細かい時間まで表記
  • 予定表はおおよその時期や期間がわかるように

…といったイメージです😉

まとめ

1年間の振り返り・日時や場所までをキッチリ書き出すのはとても大変で面倒ですが、こうやってデータを抜き出してしまえば少し気持ちが軽くなりますね。

この表を元にすれば、面倒な😅引継書作成の第一歩も踏み出しやすくなるのではないかな?(なったら良いな)と思います😀

ぜひ試してみてくださいね。

では!