GAS シートのセルの値を取得/設定する(Google Apps Script)

Google Apps Script(GAS)のシートのセルの値を取得/設定するサンプルです。

目次

サンプル セルの値を取得する
  スプレッドシートのIDの指定の方法
  実行時に「承認が必要です」のダイアログが表示される場合
複数のセルの値を配列で取得する
セルに値を設定する
セルを範囲で指定して値を設定する

セルの値を取得する

getRangeで位置を指定してgetValueで値を取得します。

    function myFunction() {
      const sheet1 = SpreadsheetApp.openById("IDを指定").getSheetByName("シート1");
    
      const value1 = sheet1.getRange('A1').getValue();
      console.log(value1); // red
    
      const value2 = sheet1.getRange(2,2).getValue();
      console.log(value2); // yellow
    
      const sheet2 = SpreadsheetApp.openById("IDを指定")
      const value3 = sheet2.getRange('シート1!C3').getValue();
      console.log(value3); // blue
    }

    2行目は、スプレッドシートのIDとシート名を指定しています。
    スプレッドシートのIDの指定方法は、下部参照願います。
    シート名はシートの下部のタグに書いてある名称です。

    4行目は、A1でセルの値を指定しています。
    7行目の(2,2)は、(2行目、2列目)を表します。
    11行目は、シート名とセルの値を指定しています。

     

    スプレッドシートのIDの指定の方法

    openByIdの引数に指定するスプレッドシートのIDは、スプレッドシートを開きURLにある以下の部分の値をセットします。

    https://docs.google.com/spreadsheets/d/スプレッドシートのID/edit#gid=0

     

    実行時に「承認が必要です」のダイアログが表示される場合

    実行時に「承認が必要です」のダイアログが表示される場合は、アカウントの許可が必要です。
    (確認環境:無料Gmailアカウント)

    1.「権限を確認」をクリックします。

    2.アカウントをクリックします。

    3.詳細のリンクを押して「プロジェクト名(安全ではないページ)」をクリックします。

    4.許可を押します。

     

    複数のセルの値を配列で取得する

    function myFunction() {
      const sheet1 = SpreadsheetApp.openById("IDを指定").getSheetByName("シート1");
    
      const value1 = sheet1.getRange('B2:D2').getValues();
      console.log(value1[0][0]); // red
      console.log(value1[0][1]); // yellow
      console.log(value1[0][2]); // blue
    }

    4行目は、複数のセルの値を取得しています。
    取得した値は5行目以降のように2次元配列になります。

     

    セルに値を設定する

    function myFunction() {
      const sheet1 = SpreadsheetApp.openById("IDを指定").getSheetByName("シート1");
    
      sheet1.getRange('A1').setValue("red");
    
      sheet1.getRange(2,2).setValue("yellow");
    
      const sheet2 = SpreadsheetApp.openById("IDを指定")
      sheet2.getRange('シート1!C3').setValue("blue");
    }

    6行目の(2,2)は、(2行目、2列目)を表します。
    9行目は、シート名とセルの値を指定しています。

     

    セルを範囲で指定して値を設定する

    function myFunction() {
      const sheet1 = SpreadsheetApp.openById("IDを指定").getSheetByName("シート1");
    
      var values = [
        ['red','yellow','blue'],
        ['green','black','white']
       ];
      sheet1.getRange('B2:D3').setValues(values);
      //sheet1.getRange(2,2,2,3).setValues(values);
    }

    8行目は、setValuesの引数に配列を指定しています。

    9行目は、8行目の内容を数値で指定しています。

    getRange( 行番号, 列番号, 行数, 列数 );

    2行目(2)のB列(2)が開始位置で、2行、3列を指定という意味です。

    関連の記事

    GAS if文のサンプル(Google Apps Script)
    GAS for文 処理を繰り返す(Google Apps Script)

    △上に戻る