スキップしてメイン コンテンツに移動

GASで関数自動計算

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 トリガーを使えば、セルが編集された瞬間に自動計算を実行することも可能です。これにより、ユーザーが入力したデータに対してリアルタイムで計算結果を表示できます。

この記事はAIによって作成されました。

コメント