Googleカレンダーで変則シフトを簡単に登録する方法を実践!初心者用に解説・注意点

Googleカレンダーシフト登録

この記事は2016年3月8日に更新しました。
情報が古くなっている可能性があるのでご注意ください。

この記事の読了時間は約8分です。

Googleカレンダーにシフトのスケジュールを取り込むのは面倒。普通にやると、1日ごとに時間帯を設定しないといけないので、20回勤務日があれば20回設定しないといけない。

早出、遅出、日勤、夜勤などの変則シフトであればなおさら。

そんな煩わしいシフトスケジュール入力を、簡単にする方法を発見したので、実際に試してみました。コピペ中心なので、パソコン初心者でもできます!

やってみてわかりにくかった所は、わかるように噛み砕いて、注意点など説明するよ。

スポンサーリンク

目次(クリックでワープ)

Googleカレンダー+Googleドライブ

僕は今、特別養護老人ホームで働いています。

勤務はシフト制で月9日休みが基本。

時間は早出、遅出、日勤、夜勤があって、人が足りないと日遅、早日などもあります。

Googleカレンダー+Googleドライブの使い分け

スケジュールの管理はGoogleカレンダーを利用していたんですが、シフトをカレンダーに入力するのは面倒なので、勤務表をカメラでとって、その画像をGoogleドライブにUPしてクラウドで管理していました。

Googleカレンダー

アプリだけでなくWebからも管理でき、同期も自動で行ってくれる。

Googleカレンダー

Googleカレンダー
開発元:Google, Inc.
無料
posted with アプリーチ

Googleドライブ

クラウドサービス。フォルダ共有など簡単にできる。

Google ドライブ

Google ドライブ
開発元:Google, Inc.
無料
posted with アプリーチ

Googleカレンダー+Googleドライブの不便さ

歯医者などを予約する時に

  1. 勤務表をGoogleドライブで確認して、休みを把握
  2. Googleカレンダーで休みの日に用事が入ってないかチェック

しなくちゃ駄目だなので、手間だし、ミスも起こりやすい事態になっていました。

変則シフトをGoogleカレンダーに簡単に取りこむ方法

Googleカレンダーにシフトを簡単登録する方法(記事3つ)

以下の3つの記事が該当記事になります。

  1. Googleカレンダーにシフトを簡単に登録する 入力ページを作成する
  2. Googleカレンダーにシフトを簡単に登録する カレンダーに登録する
  3. Googleカレンダーにシフトを簡単に時間帯付きで登録する

元記事作成者のtwitter https://twitter.com/mada_chugakusei

以下、この3つの記事内容を実践した時に学んだ注意点と、初心者でもできるように、わかりやすく作業工程をまとめてみました。

Googleカレンダーにシフト(8パターン勤務)を簡単登録

上記の元記事サイトでは、2つの勤務パターンを例にコードが書かれており、それ以上の勤務パターンを作る場合は自分でコードを追加するという手間が必要です。

本記事では、上記のサイトで紹介されている方法、コードを使って早出A、早出B、遅出A、遅出B、日勤、日遅、早日、夜勤の8つのシフトを時間帯付きでGoogleカレンダーで自動入力されるようにしました。

8つの勤務パターンでコードを書いた(追加)したので、1~8以内の勤務パターンであればコピペ、削除で対応できます。

以下、実践してみて気付いた注意点を紹介します。

導入までの流れ

目標

Googleドライブで勤務日をアンケート記入する→Googleカレンダーに自動反映させる。

やる事

  1. Googleドライブでアンケートを作成
  2. アンケート送信したら自動でGoogleカレンダーに反映させるトリガー(引き金)を作る

流れ詳細

詳しくわかる必要はありません。この流れで作業をしていくので、「あれ今なにやってんだろう?」と迷子にならないようにフローチャートを作成しました↓

  1. Googleドライブ>Googleフォームでアンケートを作成
  2. そのアンケートに早出、遅出などの勤務日を回答する
  3. その入力データをスプレッドシートで表示させる。
  4. 実行させるプログラムを書く(95%コピペでOK
  5. トリガーを設定して「2アンケートを送信」したら自動でGoogleカレンダーに反映させるようにする。
  6. エラーが出なければプログラム通り実行され、Googleカレンダーに反映されている。
  7. もしプログラムを修正したり追加した場合は、実行>executeInPostingを選んでプログラムを走らせる。

これができれば、後は毎月発表される勤務表を元に「2.アンケートに早出、遅出などの勤務日を選択する」だけで、自動でGoogleカレンダーにシフトが登録されるようになります。

<1>Googleドライブ>Googleフォームでアンケートを作成

Googleドライブへアクセス

Googleドライブから「Googleドライブにアクセス」をクリック。

Googleフォームの作成

ドライブ上>マイドライブ>その他>Googleフォーム

googleフォーム

西暦、月の質問項目を作る

「無題のフォーム」を「勤務予定」などと入力し、

「無題の質問」を「西暦」と変え、プルダウンで1.2016 2.2017 3.2018と入力。

※年数はあとから追加できます。

googleform

質問を追加をクリックして、「月」でプルダウン、1.1 2.2 ~ 12.12と入力

googleform作成

勤務パターン名、1~31までの質問を作る

セクションを追加し、「無題のセクション」はそのまま、「早番A」などと自分の勤務パターン名を入力する。選択方式をチェックボックスにして1~31まで選択肢を作る。

セクションのコピー、質問と選択肢のコピーが可能なので、あとはコピペで勤務名のみ変更して「勤務名と1~31」と質問を必要分作る。

googleform作成

<2>アンケートに早出、遅出などの勤務日を回答する

googleform作成

図の番号順にクリックし、URLに移動すると、作成したアンケートを回答するページに移動する。そこで、作ったアンケートに、自分のシフトを回答し、「送信」する。

例)早番が1日と13日なら、早番の質問項目に1と13をチェックする。

<3>アンケート入力データをスプレッドシートで表示

ここからは、アンケート結果をカレンダーに自動反映させるプログラムを作る下準備。

編集画面へ戻り

googleform6

回答をクリック

googleform7

スプレッドシートの作成をクリック

googleform8

新しいスプレッドシートを作成する

googleform9

すると自動でスプレッドシート画面に切り替わる。

このスプレッドシートはGoogleドライブ上に保存されるので、いつでもアクセスが可能だ。

<4>実行させるプログラムを書く(95%コピペでOK)

スクリプトエディタを開く

スプレッドシートから>ツール>スクリプトエディタを選択。

googlespreadsheets1

プロジェクト名を変更する

googlespreadsheets2<注意点1>

スクリプトエディタはGoogleドライブ上には表示されない。スプレッドシートを表示させてスクリプトエディタの編集を選択するとプログラムを書いたコードが表示され、追加・変更ができる。

コード.gsに以下のコードをコピペする(2016.3.8修正)

注意点1 自分のGmailを入力

「var CALENDAR_ID = ‘~@gmail.com’;」の部分は自分のGmailアドレスを入力する。

もちろんGoogleドライブと関連付けているGmailアドレス。

注意点2 勤務パターン数を変更する

ここではシフトパターンを8つ設定した場合のコードを掲載している

もし5つや6つであれば、不必要な部分を削除するだけでOK

8以上だと、コードのパターンを学習し、必要分を自分でコピペ&変更する必要がある。

注意点3 勤務時間・勤務パターン名を変更する

「var SHIFT1 = ‘早番A’;」 に自分がGoogleフォームで作成した勤務名を入力する。
「var SHIFT1_START_TIME = ‘7:00’;」 に勤務開始時間を入力。
「var SHIFT1_END_TIME = ’16:00’」 に勤務終了時間を入力。

注意点4 夜勤など日をまたぐ時間帯を設定する

var SHIFT8 = ‘夜勤’;
var SHIFT8_START_TIME = ’16:00′;
「var SHIFT8_END_TIME = ’33:30’」のように「24時間+終了時間」を計算した数値を入力する。この例では、次の日の9時半に終了するので24+9時半で33:30となる。

注意点5 表記は統一する

本記事のコードをコピペして利用するユーザーは問題ないが、

元記事ではコードを「SHIFT1」でコーディングしていたのに、追加記事ではコードを「SHIFT1_NAME」に変更している。

参考Googleカレンダーにシフトを簡単に時間帯付きで登録する – まだ中学生のブログ

元記事ベースで「コピペをしてうまくいかない!?」という人は自分がコピペしたコードがちゃんと統一されてるか確認しよう!

SHIFT1で表記を統一するか、SHIFT1_NAMEで統一しなければならない。

<5>トリガーを設定

時計のようなマークをクリック

トリガー設定

今すぐ追加

googlespreadsheets-triger2

トリガーの設定

googlespreadsheets-triger3

実行の項目はコードを書かないとmy Functionしか選択できないので、必ず、コードをコピペしてからトリガーを設定すること。

<6>エラーが出ないならカレンダー確認

Googoleカレンダーアプリを確認してみよう。

<7>プログラム修正・追加した場合

トリガー設定

注意点 実行>executeInPostingは無闇に連打しない!

実行>executeInPostingは1度クリックするたびに、1ヶ月分のスケジュールが追加されてしまう(正常に動作している部分は反映されてしまう)

一度登録されているスケジュールとは、別スケジュール扱いで二重に登録されてしまう。

プログラムが全く動いてなければ何度実行させても害はないが、中途半端に動いているときは注意が必要。

特に、終日設定でプログラムを書いて実行していたものを、時間帯表示できるようにプログラムを書き換えて実行すると、終日のスケジュールと時間帯表示のスケジュールが混在する。

削除は簡単にできるが、できれば面倒な作業は増やしたくない。

時間帯が表示されるシフトを組みたければ最初からそのプログラムを書いて実行すべし!

(ここで紹介したコードは時間帯表示されるものです。)


この記事をブログ等で紹介する際は下のHTMLコードをコピペしてお使い下さい。
泣いて喜びます。

<a href="http://49hack.jp/googlecalendar-shifuto/">Googleカレンダーで変則シフトを簡単に登録する方法を実践!初心者用に解説・注意点</a>

google関連記事広告
スポンサーリンク

コメント

  1. kawa より:

    こんにちは。
    記事を参考に登録してみましたが、コードをコピペしたところ
    for-loop コントロールの後に ) がありません。(行 72、ファイル「コード」)
    とのエラーがでます。
    どこを修正したらよいでしょう??

    • kodou 管理人 より:

      僕の使っているスプレッドシートのスクリプトを確認したところ
      72行目 for (var i = 0; i < shift1List.length; i++) {が正しいコードでした。
      「<」をHTMLで→「&lt;」とコードしていたのが間違いで、コピペしても正常に動作しない状態でした。 2016年3月8日に修正済みのコードを掲載し、記事を更新しました。 指摘がないと気づかないままでした。 ありがとうございます。

  2. kawa より:

    ご回答、修正ありがとうございます!無事にシフトの登録ができました!
    大変助かりました・ありがとうございました。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA