Google スプレッドシートには、スプレッドシート上で特定の操作をワンクリックで実行できるボタンを追加することができます。
Google Apps Script (GAS) で作成したスクリプトをボタンに割り当てることで、任意の処理をボタンクリックで実行できるようになるため、とても便利な機能です。
今回は、スプレッドシートに GASのボタンを追加する方法を、サンプルデータとコード付きで詳しく解説します。
スプレッドシートにカスタムメニューを追加して任意の処理をワンクリックで実行する方法を知りたい方は、こちらをご覧ください。
スプレッドシートの準備
まずは、スプレッドシートに操作するデータを用意します。
今回は、以下のサンプルデータをスプレッドシートのA1:D4セルの範囲に入力します。
商品名 | 単価 | 数量 | 合計 |
---|---|---|---|
商品A | 1000 | 2 | |
商品B | 1500 | 3 | |
商品C | 800 | 5 |
次に、スプレッドシートに実行ボタンを作成します。
メニューバーの「挿入」を左クリックし、「図形描画」を選択します。
図形描画画面が開くので、メニューバーの「図形」から「ベベル(面取り)」を選択します。
任意の大きさで図形を挿入し、色やテキストを編集して「保存して閉じる」で完了します。
サンプルでは「合計金額を計算」とテキスト入力しています。
挿入した図形の右上の縦3点マークの「スクリプトを割り当て」からGASのスクリプトを割り当てることで、処理をワンクリックで実行できるようになります。
次の項では、ボタンに割り当てるGAS スクリプトを作成します。
GAS スクリプトの作成と割り当て
ボタンに割り当てるGAS スクリプトを作成します。
今回のサンプルでは、単価と数量から合計金額を計算するスクリプトを作成します。
まず、メニューバーの「拡張機能」を左クリックし、「Apps Script」を選択します。
「Apps Script」を選択すると、スクリプトエディタが新しいタブで開きます。
新しいタブでスクリプトエディタが開かれたら、単価と数量から合計金額を計算するスクリプトを作成します。
以下のスクリプトをコピーして貼り付け、プロジェクトを保存します。
function calculateTotal() {
// アクティブなスプレッドシートを取得
var sheet = SpreadsheetApp.getActiveSheet();
// A2:D4の範囲を指定してデータを取得
var dataRange = sheet.getRange("A2:D4");
// 指定した範囲のデータを2次元配列として取得
var data = dataRange.getValues();
for (var i = 0; i < data.length; i++) {
// 単価を取得(B列のデータ)
var price = data[i][1];
// 数量を取得(C列目のデータ)
var quantity = data[i][2];
// 合計金額を計算
var total = price * quantity;
// 計算結果をD列に設定
sheet.getRange(i + 2, 4).setValue(total);
}
// 処理完了のメッセージをポップアップで表示
Browser.msgBox("合計金額の計算が完了しました。");
}
スクリプトを保存したら、スプレッドシートに戻ります。
先ほど作成したボタンの図形の右上の縦3点マークを左クリックし、「スクリプトを割り当て」を選択します。
スクリプト割り当ての入力画面が開くので、合計金額を計算する関数「calculateTotal」を入力し、確定します。
「合計金額を計算」ボタンを左クリックして、スクリプトを実行します。
初めて実行する際には、「このドキュメントに添付されたスクリプトを実行するには、あなたの許可が必要です。」のように、スクリプトに対する権限の承認が求められる場合があります。
認証を求められたら、表示に従って承認してください。
「このアプリは Google で確認されていません」と表示された場合は左下の詳細をクリックすると、「無題のプロジェクト(安全ではないページ)に移動」というリンクが表示されます。
このリンクをクリックすると次のページへ遷移できます。
合計金額の計算完了のダイアログが表示されるので、「OK」を左クリックします。
「OK」をクリックすると、合計金額の計算の処理が実行されます。
正常にスクリプトが実行されると、D列に合計金額が入力されます。
これで、ボタンクリックひとつで合計金額を自動計算できるようになりました。
まとめ
Google スプレッドシートに GASスクリプトを割り当てたボタンを追加することで、業務効率を大幅に向上させることができます。
本記事で紹介したサンプルコードを参考に、ご自分の業務に合わせたボタンを作成してみてください。
スプレッドシートにカスタムメニューを追加して任意の処理をワンクリックで実行する方法を知りたい方は、こちらをご覧ください。
コメント