GASのSpreadsheetAppでセルを取得・編集する方法

先生

GASでスプレッドシートのセルを自由自在に操る!業務効率爆上げのテクニックを伝授します🚀

GASでSpreadsheetAppとは?基本を理解する

Google Apps Script(GAS)は、Google Workspaceの機能を拡張するためのクラウドベースのスクリプト言語です。特にSpreadsheetAppは、Googleスプレッドシートを操作するためのGASの主要なサービスの1つです。

SpreadsheetAppを使用すると、スプレッドシートの作成、読み取り、編集、削除など、様々な操作を自動化できます。例えば、特定の条件に基づいてデータを抽出したり、定期的にデータを更新したり、他のGoogleサービスと連携させたりすることが可能です。

この記事では、GASのSpreadsheetAppを使用して、スプレッドシートのセルを取得・編集する方法について詳しく解説します。初心者の方でも理解しやすいように、基本的な概念から具体的なコード例まで丁寧に説明していきます。

スプレッドシートの準備:IDの確認

まず、GASで操作するスプレッドシートを用意する必要があります。スプレッドシートを開き、URLからスプレッドシートIDを確認してください。

スプレッドシートIDは、URLの/d//editの間にある長い文字列です。例えば、https://docs.google.com/spreadsheets/d/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/edit というURLの場合、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXがスプレッドシートIDとなります。

このIDは、GASでスプレッドシートを特定するために使用しますので、メモしておきましょう。

GASエディタを開く

次に、GASエディタを開きます。スプレッドシートを開いた状態で、メニューバーから「ツール」→「スクリプトエディタ」を選択します。

新しいタブでGASエディタが開きます。ここで、スプレッドシートを操作するためのスクリプトを記述していきます。

セルを取得する方法:getCell()

SpreadsheetAppでセルを取得するには、getCell(row, column)メソッドを使用します。

rowは行番号、columnは列番号を指定します。行番号と列番号は1から始まります。


function getCellValue() {
  // スプレッドシートIDを指定
  var spreadsheetId = 'YOUR_SPREADSHEET_ID';

  // スプレッドシートを取得
  var spreadsheet = SpreadsheetApp.openById(spreadsheetId);

  // シートを取得 (ここでは最初のシートを取得)
  var sheet = spreadsheet.getActiveSheet();

  // A1セルの値を取得 (1行目、1列目)
  var cell = sheet.getCell(1, 1);
  var value = cell.getValue();

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

上記のコードでは、まずSpreadsheetApp.openById(spreadsheetId)でスプレッドシートを取得し、spreadsheet.getActiveSheet()でアクティブなシートを取得しています。

そして、sheet.getCell(1, 1)でA1セル(1行目、1列目)のセルオブジェクトを取得し、cell.getValue()でセルの値を取得しています。

最後に、Logger.log(value)で取得した値をログに出力しています。YOUR_SPREADSHEET_IDは、実際のスプレッドシートIDに置き換えてください。

セルに値を書き込む方法:setValue()

セルに値を書き込むには、setValue(value)メソッドを使用します。

valueは書き込む値を指定します。


function setCellValue() {
  // スプレッドシートIDを指定
  var spreadsheetId = 'YOUR_SPREADSHEET_ID';

  // スプレッドシートを取得
  var spreadsheet = SpreadsheetApp.openById(spreadsheetId);

  // シートを取得 (ここでは最初のシートを取得)
  var sheet = spreadsheet.getActiveSheet();

  // A1セルに値を書き込む
  var cell = sheet.getCell(1, 1);
  cell.setValue('Hello, GAS!');
}

上記のコードでは、sheet.getCell(1, 1)でA1セルのセルオブジェクトを取得し、cell.setValue('Hello, GAS!')でA1セルに’Hello, GAS!’という値を書き込んでいます。YOUR_SPREADSHEET_IDは、実際のスプレッドシートIDに置き換えてください。

セルの範囲を取得・編集する方法:getRange()

複数のセルをまとめて取得・編集するには、getRange()メソッドを使用します。

getRange()メソッドには、様々な引数の指定方法があります。

getRange(row, column): 指定された行と列のセルを取得します。

getRange(row, column, numRows): 指定された行と列から始まる、指定された行数の範囲を取得します。

getRange(row, column, numRows, numColumns): 指定された行と列から始まる、指定された行数と列数の範囲を取得します。

getRange(a1Notation): A1形式で範囲を指定します(例: “A1:B10″)。


function getRangeExample() {
  // スプレッドシートIDを指定
  var spreadsheetId = 'YOUR_SPREADSHEET_ID';

  // スプレッドシートを取得
  var spreadsheet = SpreadsheetApp.openById(spreadsheetId);

  // シートを取得 (ここでは最初のシートを取得)
  var sheet = spreadsheet.getActiveSheet();

  // A1からB10の範囲を取得
  var range = sheet.getRange('A1:B10');

  // 範囲内のすべてのセルの値を取得
  var values = range.getValues();

  Logger.log(values); // ログに出力
}

上記のコードでは、sheet.getRange('A1:B10')でA1からB10の範囲を取得し、range.getValues()で範囲内のすべてのセルの値を取得しています。取得した値は二次元配列として返されます。YOUR_SPREADSHEET_IDは、実際のスプレッドシートIDに置き換えてください。

参考リンク

まとめ

この記事では、GASのSpreadsheetAppを使用してスプレッドシートのセルを取得・編集する方法について解説しました。

getCell()setValue()getRange()といった基本的なメソッドを理解することで、スプレッドシートの操作を自動化し、業務効率を大幅に向上させることができます。

ぜひこれらの知識を活用して、GASによるスプレッドシートの自動化に挑戦してみてください。