GASで関数自動計算
GAS基礎とスプレッドシート関数
Google Apps Script(GAS)は、Google Workspace のサービスを自動化するための JavaScript ベースのスクリプト言語です。GAS でスプレッドシートを操作する際には、SpreadsheetApp クラスを使い、シートやセルを取得・編集します。スプレッドシート関数はセルに直接入力するだけでなく、スクリプトからも呼び出せるため、データ処理を柔軟に行えます。
setFormulaで数式入力
セルに数式を設定するには、setFormula() メソッドを使用します。setFormula() は文字列として数式を受け取り、セルに入力します。例えば、セル A1 に「=SUM(B1:B10)」を設定する場合は次のように書きます。
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange('A1').setFormula('=SUM(B1:B10)');
このように数式入力をスクリプトで行うことで、動的にセルを更新できます。
関数適用例: SUM, AVERAGE, VLOOKUP, QUERY
GAS からスプレッドシート関数を適用する代表的な例を紹介します。
- SUM:
=SUM(C1:C20)で合計を求める。 - AVERAGE:
=AVERAGE(D1:D20)で平均値を算出。 - VLOOKUP:
=VLOOKUP(E1, F1:G10, 2, FALSE)で検索。 - QUERY:
=QUERY(H1:I100, "SELECT H, I WHERE H > 100")で条件抽出。
これらの関数を setFormula() でセルに設定すると、スプレッドシート上で即座に計算結果が表示されます。
自動計算の実装
スプレッドシートはデフォルトでセルの数式を自動計算しますが、GAS でデータを更新した際に再計算をトリガーしたい場合は、SpreadsheetApp.flush() を呼び出します。これにより、すべての変更が確定し、数式が再評価されます。
function updateData() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange('B1').setValue(42); // データ更新
SpreadsheetApp.flush(); // 自動計算を強制
}
また、onEdit トリガーを使えば、セルが編集された瞬間に自動計算を実行することも可能です。これにより、ユーザーが入力したデータに対してリアルタイムで計算結果を表示できます。
コメント
コメントを投稿