【GAS】スプレッドシート操作の基本メソッド

Google Apps Scriptでスプレッドシートを操作するためのメソッドは多岐にわたります。
これらのメソッドを利用することで、データの読み取り、書き込み、フォーマット変更、計算など、多様な操作が可能です。
よく使用される主要なメソッドを紹介します。

スプレッドシートの取得

SpreadsheetApp.openById(id)

個人的に使用頻度が高いメソッドになります。
引数にスプレッドシートのIDを指定することで該当のスプレッドシートを取得します。
IDはスプレッドシートのURLに記載があります。

例)https://docs.google.com/spreadsheets/d/xxxxx/edit#gid=0

function testOpenById() {
  const id = 'xxxxxxx';
  const spreadSheet = SpreadsheetApp.openById(id);

}
SpreadsheetApp.getActiveSpreadsheet()

こちらはコンテナバインド型の場合のみ利用できるメソッドです。
現在開いているスプレッドシートを取得できます。

function testActiveSpreadsheet(){
  const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
}

シートの操作

    Spreadsheet.getSheetByName(name)

    こちらも利用頻度が高いメソッドです。
    スプレッドシートから名前で指定されたシートを取得します。

    function testSheetByName() {
    
      const id = 'xxxxxxx';
      const spreadSheet = SpreadsheetApp.openById(id);
      const sheet1 = spreadSheet.getSheetByName('シート1');
    
    }

    Spreadsheet.insertSheet(name)

    新しいシートをスプレッドシートに追加し、そのシートオブジェクトを返します。

    function testInsertSheet() {
    
      const id = 'xxxxxxx';
      const spreadSheet = SpreadsheetApp.openById(id);
      const sheet2 = spreadSheet.insertSheet('シート2');
    
    }

    Sheet.deleteRow(row) / Sheet.deleteColumn(column)

    指定された行、指定された列をシートから削除します。

    function testDelete() {
    
      const id = 'xxxxxxx';
      const spreadSheet = SpreadsheetApp.openById(id);
      const sheet1 = spreadSheet.getSheetByName('シート1');
    
      // 1行目を削除
      sheet1.deleteRow(1);
    
      // 1列目を削除
      sheet1.deleteColumns(1);
    
    }

    Sheet.getRange(row, column, numRows, numColumns)

    こちらもかなり重要なメソッドで使用頻度が一番高いかもしれません。
    引数にはR1C1形式での指定または、A1等のセル番地指定を行います。
    シートの特定範囲を表すRangeオブジェクトを取得します。

    function testRange() {
    
      const id = 'xxxxxxx';
      const spreadSheet = SpreadsheetApp.openById(id);
      const sheet1 = spreadSheet.getSheetByName('シート1');
    
      const rangeA1 = sheet1.getRange('A1');
      const rangeA1to = sheet1.getRange('A1:B10');
      const rangeR1C1 = sheet1.getRange(1, 1); //A1
      const rangeR1C1toR = sheet1.getRange(1, 1, 10) //A1 ~ A10まで
      const rangeR1C1toRC = sheet1.getRange(1, 1, 10, 2) //A1 ~ B10まで
    
    }

    データの読み取りと書き込み

    1. Range.getValue(): 単一セルの値を取得します。
    2. Range.getValues(): 範囲内のすべてのセルの値を2次元配列として取得します。
    3. Range.setValue(value): 単一セルに値を設定します。
    4. Range.setValues(values): 範囲内の各セルに対応する2次元配列の値を設定します。

    これらのメソッドはGASでのスプレッドシートの操作には不可欠な内容になります。
    必ず利用するものになりますので、初学者の方はこれらをある程度使いこなせるようになる必要があるかと思います。