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)