GAS スプレッドシートのセルの数式をR1C1形式で取得する

GAS スプレッドシートのセルの数式をR1C1形式で取得する

GAS(Google Apps Script)で、スプレッドシートのセルの数式をR1C1形式で取得する手順を記述してます。

環境

  • OS windows11 home
  • ブラウザ chrome 101.0.4951.54

数式をR1C1形式で取得

数式をR1C1形式で取得するには、「getFormulaR1C1()」を使用します。

range.getFormulaR1C1()

以下のシートを使用して取得してみます。

コードを実行します。

function myFunction() {

  // GASを作成したスプレッドシート
  let spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

  // スプレッドシートのシート名「シート1」を取得
  let sheet = spreadsheet.getSheetByName("シート1");

  // セルを指定
  let cell = sheet.getRange("B3");

  // 数式を取得
  Logger.log(cell.getFormulaR1C1())

}

取得されていることが確認できます。

複数の範囲から取得

範囲を複数個して取得する場合は「getFormulasR1C1」と「for」文を使用します。

「B2」~「C3」の範囲を指定して取得してみます。

コードを実行します。

function myFunction() {

  // GASを作成したスプレッドシート
  let spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

  // スプレッドシートのシート名「シート1」を取得
  let sheet = spreadsheet.getSheetByName("シート1");

  // セルを指定
  let range = sheet.getRange("B2:C3");

  let arr = range.getFormulasR1C1();

  for (let i in arr) {
    for (let j in arr[i]) {
      Logger.log(arr[i][j]);
    }

  }

}

実行結果