スキルアップを始める!

【GAS】セルや範囲に設定されている数式を取得する|getFormulas()

GAS(GoogleAppsScript)
この記事は約3分で読めます。
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

getFormulas()は、Google Apps Script(GAS)で使用されるメソッドの一つです。このメソッドは、Google スプレッドシート内のセルや範囲に設定されている数式を取得するために使われます。

getFormulas() メソッドの基本

getFormulas() は、指定されたセル範囲の数式を取得するために使用されます。

このメソッドは、セルに入力された数式を文字列の形で返します。例えば、セルに =SUM(A1:B1) という数式が入力されている場合、getFormulas() はこの数式を文字列として取得します。

使用方法

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var formulas = sheet.getRange("A1:C3").getFormulas();

上記のコードは、アクティブなシートの A1:C3 範囲にあるすべてのセルの数式を取得します。formulas は2次元配列として返され、それぞれのセルの数式が格納されています。

数式を取得する利点

  • デバッグの容易化: 数式のエラーを見つけやすくなります。
  • 自動化スクリプトの作成: 数式をプログラムで処理し、スプレッドシートの動作を自動化できます。
  • データ分析: 使用されている数式を分析し、スプレッドシートの構造を理解するのに役立ちます。

getFormulasの使用例

セルの数式の取得: 「B1」セルに入力されている数式を取得します。getFormulas() メソッドは、セルに入力された数式を返します。セルに数式がない場合は空の文字列を返します。

function getValueFrom() {
  // スプレッドシートのアクティブシートを取得
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // A2セルの値を取得
  var value = sheet.getRange("B1").getFormulas();

  // 値をログに出力
  Logger.log(value);
}

実践的な使用例

実際に getFormulas() メソッドを使用する具体的なスクリプトを見てみましょう。

例:数式を取得してログに出力

function logFormulas() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getRange("A1:C3");
  var formulas = range.getFormulas();

  for (var i = 0; i < formulas.length; i++) {
    for (var j = 0; j < formulas[i].length; j++) {
      if (formulas[i][j] != "") {
        Logger.log('Cell ' + range.getCell(i + 1, j + 1).getA1Notation() + ' has formula: ' + formulas[i][j]);
      }
    }
  }
}

このスクリプトは、特定の範囲(この例では A1:C3)内のすべてのセルの数式をログに出力します。セルに数式がない場合はスキップされます。

まとめ

このように getFormulas() を使用することで、GAS上で数式の検証やスプレッドシートの分析が可能になります。

URLをコピーしました!