2016/04/06
スプレッドシート管理の小技紹介
スプレッドシートのスクリプト活用方法紹介
GAS(Google Apps Script)で実現出来る手軽なシート活用方法です。
課題管理などを更新日を入れ忘れてどれが最新か解らなくなったことは無いでしょうか?
GASを活用すれば、そんな記載漏れからおさらば出来ます!
具体的な例
スプレッドシートを開いた状態で上部のメニューから
「ツール」「スクリプトエディタ」
を選択してください。
「ツール」「スクリプトエディタ」
を選択してください。
すると新しいウィンドウが出てきます。
エクセルで言うところのVBAマクロエディタのようなものです。
(実際はVBAほど実行範囲は広くありません)
「コード.gs」というスクリプトがデフォルトで表示されています。
右側のペインのテキストエリアに以下のように入力してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 | function onEdit(event){ var ss = event.source.getActiveSheet(); //編集したシート var us = Session.getActiveUser().getEmail(); //編集者のメールアドレス if (ss.getName() == "課題管理") { var Row; Row = ss.getActiveCell().getRow(); Col = ss.getActiveCell().getColumn(); if(Row>2 && Col < 9 && Col > 2){ //2行目までがタイトルヘッダーなので ss.getRange(Row, 10).setValue(new Date()); // JカラムにDateを突っ込みます } } } |
上の例だと列の番号がベタ書き(数字をそのまま直接書いて)しています。
内容は
「編集したシートが」「”課題管理”と言う名前なら」
かつ
「編集したセルが」「2行目以降」かつ「3列目から8列目までの範囲」
の時、
「編集したセルの」「10列目に」「現在の時刻を」「代入する」
です。
これだけでは何も動きません。
上部メニューから
「リソース」「現在のプロジェクトのトリガー」
を選択すると以下の様なダイアログが表示されます。
参照画像の例だと
「onEditという関数を」「スプレッドシートの」「値が変更された時」
に実行されるという内容となります。
つまりイベントに対して自分の好きな命令をGASが定めた範囲内で自由に自動化出来るという仕組みです。
Author Profile
スターフィールド編集部
SHARE