Google スプレッドシートでは、スプレッドシート上で特定の操作をワンクリックで実行できるカスタムメニューをメニューバーに追加することができます。
Google Apps Script (GAS) で作成したスクリプトをカスタムメニューに割り当てて、任意の処理をワンクリックで実行できるようになるので、作業効率を向上することができます。
今回は、スプレッドシートに カスタムメニューを追加する方法を、サンプルデータとコード付きで詳しく解説します。
スプレッドシート上に GASのボタンを画像で追加する方法を知りたい方はこちらをご覧ください。
スプレッドシートの準備
まずは、スプレッドシートに操作するデータを用意します。
今回は、以下のサンプルデータをスプレッドシートのA1:D4セルの範囲に入力します。
商品名 | 単価 | 数量 | 合計 |
---|---|---|---|
商品A | 1000 | 2 | |
商品B | 1500 | 3 | |
商品C | 800 | 5 |
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("合計金額の計算が完了しました。");
}
// スプレッドシートが開かれたときに自動的に実行される関数
function onOpen() {
// スプレッドシートのユーザーインターフェース(UI)を取得
var ui = SpreadsheetApp.getUi();
// 新しいカスタムメニューを作成
ui.createMenu('カスタムメニュー')
// メニューに「合計金額を計算」という項目を追加し、クリック時にcalculateTotal関数を呼び出す
.addItem('合計金額を計算', 'calculateTotal')
// 作成したメニューをスプレッドシートのUIに追加
.addToUi();
}
カスタムメニューの作成と実行
スクリプトを保存できたら、スプレッドシートに戻ります。
スプレッドシートを再読み込みすると、メニューバーに「カスタムメニュー」が追加されます。
追加された「カスタムメニュー」→「合計金額を計算」をクリックすると、スクリプトが実行されます。
初めて実行する際には、「このドキュメントに添付されたスクリプトを実行するには、あなたの許可が必要です。」とスクリプトに対する権限の承認が求められる場合があります。
認証を求められたら、表示に従って承認してください。
「このアプリは Google で確認されていません」と表示された場合は左下の詳細をクリックすると、「無題のプロジェクト(安全ではないページ)に移動」というリンクが表示されます。
このリンクをクリックすると次のページへ遷移できます。
権限の承認が完了すると、合計金額の計算完了のダイアログが表示されるので、「OK」を左クリックします。
「OK」をクリックすると、合計金額の計算の処理が実行されます。
正常にスクリプトが実行されると、D列に合計金額が入力されます。
これで、カスタムメニューからワンクリックで合計金額を自動計算できるようになりました。
まとめ
Google スプレッドシートにカスタムメニューで関数を実行するボタンを追加することで、簡単に処理を実行することができます。
本記事で紹介したサンプルコードを参考に、ご自分の業務に合わせたカスタムメニューを作成してみてください。
コメント