Google Apps Scriptでスプレッドシートのシートとセルを取得する関数一覧

Google Apps Script(GAS)を使用すると、Google スプレッドシートのデータを操作できます。ここでは、シートとセルを取得するための関数の一覧で表し、簡単な解説を添えました。

シートを取得する関数

スプレッドシート:シートを取得する関数
  1. getActiveSpreadsheet()
    現在アクティブなスプレッドシート全体を取得します。
    例: var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  2. getActiveSheet()
    アクティブなスプレッドシートの中で現在選択されているシートを取得します。
    例: var sheet = spreadsheetgetActiveSheet();
  3. getSheetByName(name)
    指定した名前のシートを取得します。存在しない場合はnullを返します。
    例: var sheet = spreadsheet.getSheetByName("Sheet1");
  4. getSheets()
    スプレッドシート内の全シートを配列として取得します。
    例: var sheets = spreadsheet.getSheets();

セルを取得する関数

スプレッドシート:セルを取得する関数
  1. getRange(a1Notation)
    A1表記法を使用して、シート上の特定の範囲を取得します。
    例: var range = sheet.getRange("A1:B2");
  2. getRange(row, column)
    指定した行と列のセルを取得します。
    例: var cell = sheet.getRange(1, 1); // 1行1列目
  3. getRange(row, column, numRows)
    指定した行と列から始まる、指定された数の行を含む範囲を取得します。
    例: var range = sheet.getRange(1, 1, 2); // 1行1列目から2行分
  4. getRange(row, column, numRows, numColumns)
    指定した行と列から始まり、指定された数の行と列を含む範囲を取得します。
    例: var range = sheet.getRange(1, 1, 2, 3); // 1行1列目から2行3列分
  5. getDataRange()
    シートにデータが入っている範囲全体を取得します。これは、最初の行と列から始まり、最後の行と列までの範囲です。
    例: var range = sheet.getDataRange();

これらの関数は、Google Apps Scriptを使用してGoogleスプレッドシートを操作する際の基本的なツールです。シートやセルの選択からデータの読み書きまで、これらの関数を組み合わせることで幅広い操作が可能になります。特にgetRange関数は、A1表記法や行列指定など多様な方法でセル範囲を指定できるため、非常に柔軟なデータ操作を実現できます。

データ取得のスクリプトの使用例

google app script スプレッドシートの値を取得

それでは、「getRange()」と「getDataRange()」の2つの関数を使用した簡単なチュートリアルを行います。基本的なGASの実行方法についてはこちらの記事を参照してください。このチュートリアルでは、Googleスプレッドシートからデータを読み取り、そのデータを加工して、新しい範囲に書き込みます。

  • スプレッドシートから特定の範囲のデータを読み取る。
  • 読み取ったデータに何らかの操作を行う(例:各セルの値に2を乗算)。
  • 加工したデータを新しい範囲に書き込む。

ステップ1: スプレッドシートの準備

  1. Googleスプレッドシートを開き、任意のデータを入力してください。例えば、A1からC3の範囲に数値を入力します。

ステップ2: スクリプトエディタの開始

  1. スプレッドシートの画面から「拡張機能」>「Apps Script」を選択してスクリプトエディタを開きます。

ステップ3: データの読み取りと加工

以下のスクリプトをスクリプトエディタにコピー&ペーストします。

function processData() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // 特定の範囲のデータを読み取る
  var range = sheet.getRange("A1:C3");
  var values = range.getValues();

  // データの加工(各セルの値に2を乗算)
  var processedValues = values.map(row => row.map(cell => cell * 2));

  // 加工したデータを新しい範囲に書き込む(例:E1からG3)
  var newRange = sheet.getRange("E1:G3");
  newRange.setValues(processedValues);
}

ステップ4: スクリプトの実行

  1. スクリプトエディタ上で「processData」関数を選択し、「実行」ボタンをクリックします。
  2. 実行には認証が必要になりますので、画面の指示に従って認証を完了してください。

ステップ5: 結果の確認

  • スプレッドシートに戻り、E1からG3の範囲を確認します。元のデータが2倍になっているはずです。
上部へスクロール