【GAS】スプレッドシートの読み込みと書き込み【getValue, setValue】

当ページのリンクには広告が含まれています。
  • URLをコピーしました!

スプレッドシートのセルの操作ができれば、GASで出来ることの幅はかなり広がります。

今回はスプレッドシートの読み込みと書き込みをする方法をご紹介します。

サンプルコードはこちら

目次

初期設定

まずは初期設定として、シートの指定と範囲の指定を行います。

スプレッドシートはサンプルとして、こちらを用います。

スプレッドシートの指定

SpreadsheetApp.getActiveSpreadsheet()

const ss = SpreadsheetApp.getActiveSpreadsheet();

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app?hl=ja#getActiveSpreadsheet()

シートの指定

getSheetByName()

次にシートを指定します。ここではシート名を使用しています。

const sheet = ss.getSheetByName('シート1');

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=ja#getSheetByName(String)

セル範囲の指定

getRange('A1')getRange('A1:B2')のように指定します。

数字で指定することも可能です

https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=ja#getrangerow,-column

値の取得

単体

getValue()

let value = sheet.getRange('A1').getValue();

実行すると

A1の値が取得できています。

複数

getValues()

複数の場合はsがついてgetValues()になります。

例えば、図のように値を取得したい場合にはこうなります。

let values = sheet.getRange('A1:B2').getValues();

下記のようにリスト形式で出力されます。

値を書き込み

読み込みができれば書き込みも簡単です。範囲指定は同じなので、引数として値をリスト形式で渡します。

単体

setValue()

値をsetValueに渡します。

function setCell() {
  let insert_value = ['★']
  sheet.getRange('A1').setValue(insert_value);
}

値が更新されていますね。

複数

setValues()

複数になるとちょっと注意が必要です。

値を行ごとにリスト形式にします。例えば[['A','B']['C',''D]] のようにします。

function setCells() {
  let insert_values = [['A','B']['C','D']]
  let values = sheet.getRange('A1:B2').setValue(insert_values);
}

実行すると無事変わりました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次