みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
タスクの期限やステータス管理、皆さんはどのように行われていますか?
Trelloをはじめチーム用のタスク管理ツールはたくさんありますが、例えばこんなツールはいかがでしょうか?
- いつも使っているGoogleカレンダー上でタスクとその期限が確認できる
- タスクが完了しているのかどうかカレンダー上で判別できる
- そしてそれをチームで共有できる
このようなツールですが、Googleカレンダー、スプレッドシート、フォームとGoogle Apps Scriptで比較的簡単に作ることができます。
今回から何回かに分けて、チームで使えるGoogleカレンダータスク管理ツールを作っていきたいと思います。
初回は、タスクを追加する用のフォームの作成と編集、タスク管理用スプレッドシートの下準備についてお伝えしていきます。
Googleフォームの超基本的な使い方がおわかりいただけると思います。
では行ってみましょう。
Googleカレンダータスク管理ツールの概要
本システムのおおまかな動きは以下の通りです。
- フォームから新規タスクを追加する
- フォームからの送信をトリガーにスプレッドシート上に新規タスクが追加される
- 同時にGoogleカレンダーにもタスクの予定が追加される
- スプレッドシートでステータスを「完了」に変更するとGoogleカレンダーのタイトルに【完了】が追加される
カレンダーの見た目としてはこのようなイメージとなります。
完了したタスクには予定の名称の後に【完了】と追加されます。
本当は色を変えることで【完了】を表現したいのですが、Google Apps Scriptでは個々のイベントの色を変更するAPIは存在してなさそうです。残念です。
Googleフォームで新規タスクを追加する
まず、新規タスクの追加はGoogleフォームを利用しようと考えています。
スプレッドシートに直接打ち込むでも良いのですが、フォームにすることで
- 入力が楽(特に日付と時刻)
- 日付と時刻のバリデーションが不要になる(日付や時刻形式以外の入力を防げる)
- フォーム送信時をトリガーにスクリプトを走らせることができる
というメリットがあり、スプレッドシートに直接書くよりもちょっぴり便利です。
アンケートはもちろんのこと、入力用インターフェースとしてGoogleフォームは非常に優秀ですので、ぜひアチコチでご活用くださいね。
スプレッドシートにフォームを挿入する
では、準備を進めていきましょう。
新規スプレッドシートを作成して、メニューから「挿入」→「フォーム」でフォームを挿入します。
これでスプレッドシートとリンクした形で新規のフォームが作られると同時に、「フォームの回答 1」というシートも追加になったかと思います。
フォームを編集する
では作成したフォームの内容を編集していきましょう。
メニューに「フォーム」が出現しているので、そこから「フォームを編集」を選択します。
フォームの編集が新規タブで開きますので、質問を追加していきます。
今回の質問は
- タスク名:記述テキスト(短文)※必須
- 納期(日付):日付 ※必須
- 納期(時刻):時刻 ※必須
の3つとしました。他に必要に応じて、担当者名などを入れると良いかも知れません。
フォームの送信をする
右上の目玉マークのアイコンをクリックすると、その質問の入力画面を見ることができます。
では、ちょっと試しに入力してみましょう。各項目を入力して「送信」です。
スプレッドシートに戻ると「フォームの回答 1」シートに先ほどの入力内容が追加されていますね。
フォームの回答シートをタスク管理として利用
この「フォームの回答 1」シートを、そのままタスク管理用のシートとして使っていきます。
まず、E列とF列にそれぞれ「カレンダーID」「ステータス」という見出しを入力します。
これで、このシートのカラムは
という構成になります。
ステータス欄の入力規制を設定する
「ステータス」が唯一スプレッドシート上に編集をする欄になるのですが、余計な情報が入らないように入力規則を設定しておきましょう。
F列を選択した状態で、メニューから「データ」→「入力規則」です。
データの入力規則ウィンドウが開きますので、まず条件は「リストを直接指定」を選択します。
続いて、条件のテキスト欄に「完了,未完」と記入、無効なデータの場合のラジオボタンは「入力を拒否」にチェック、そして「保存」です。
これで「ステータス」欄には余計な情報が入らなくなりました。
まとめ
Googleフォームの作成と編集そしてスプレッドシートとの連携についてお伝えしました。
Googleフォームはアンケート以外にも、今回のような入力インターフェースとしてもかなり優秀です。
日時や時刻などの入力が楽ですし、想定外の入力をハジけるというメリットもあります。
さて、次回ですがいよいよGoogle Apps Scriptを使います。
フォームからの送信に応じて、カレンダーに予定を追加する方法です。
どうぞお楽しみに!