仕事で使える関数やスクリプトを紹介するコーナー
今回は小ワザ中の小ワザになります。
Google スプレッドシートで注文管理をしているシチュエーションで注文番号を記入されたら同時にステータスも「受注完了」とするなど特定の列に変更があったときに任意のセルを書き換える動作をGoogle Appsスクリプトで自動化しようというものになります。
Googleスプレッドシートからスクリプトの設定
Googleスプレッドシートを開いたら以下よりスクリプトエディタを呼び出します。
「ツール」 → 「スクリプトエディタ」
スクリプトエディタが開いたら以下のソースを貼り付けます。
function juchuSTATUS(){ var ss = SpreadsheetApp.getActiveSheet(); var juchuBANGOU = ss.getRange("B:B").getValues(); var juchuabangouValue = {}; var count = juchuBANGOU.length; for(var i=1;i<count;i++) { juchubangouValue[i] = juchuBANGOU[i]; if(juchubangouValue[i]!=""){ ss.getRange(i+1,1).setValue("受注完了"); } } }
var juchuBANGOU = ss.getRange("B:B").getValues();
特定の列に対してデータの入力を監視します。
この場合、B列を見張っている状態ですね。
トリガーの設定
プログラムは関数をどこで走らせるのかトリガーというものが必要になります。例えば何月何日何時といったタイマー的なものから、クリックされたらといった動作分岐的なものがあげられます。
スクリプトをはしらせるトリガーの設定は吹き出しに時計のようなアイコンから設定できます。
設定は関数は先ほど貼り付けた「juchuSTATUS」でイベントは「スプレッドシートから」「値の変更」と設定することでセルの値が変更されたときに発動するということになります。
あとは実行するだけ
B列に「受注番号」が入力されると、
一瞬間が空いてイベントが発生したことでスクリプトが実行されA列の「受注ステータス」に「受注完了」の文字が自動で入力されました。
どうですか?簡単ですよね?
複雑なスクリプトもまずは小さなスクリプトから始めてみていろいろと試行錯誤して作っていけるものです。
まずは簡単なものから仕事で役立てるスクリプトをいろいろ研究してみてください。
また何か良いものがあったら載せますね。