2021年1月13日水曜日

値取得、記入 - GAS

■スプレッドシート接続


var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();

■値取得


・1つのセルの値を取得

var val = sheet.getRange(行番号, 列番号).getValue();
.getRange()に行、列番号を指定してセルを取得
 さらに.getValue()で値を取得

・範囲を指定して取得

var data = sheet.getRange(行番号, 列番号, 行数, 列数).getValues();

var val = data[行番号-1][列番号-1];
.getRange()にさらに行数、列数で範囲を指定
.getValues()で値を二次元配列で取得
[ ][ ]でインデックスを指定して値を取り出す
 ※配列なのでインデックスは0始まり
var data = sheet.getRange(行番号, 列番号, 行数, 列数).getValues();

var val;
for(let i=0; i<data.length; i++){
	for(var j=0; j<data[i].length; j++){
    	val = data[i][j];
    }
}
 for文で全ての値を取り出す

・シート内の全ての値を取得

var data = sheet.getDataRange().getValues();

var val = data[行番号-1][列番号-1];
.getDataRange()とすると値が入っている範囲全てを取得する
.getValues()からは上記と同様

■値記入


・1つのセルに値を記入

sheet.getRange(行番号, 列番号).setValue(値);
.getRange()に行、列番号を指定してセルを取得
.setValue()で値を指定して記入

・範囲を指定して記入

sheet.getRange(行番号, 列番号, 行数, 列数).setValues([ [値,値,・・・], [値,値,・・・], ・・・ ]);

sheet.getRange(行番号, 列番号, 行数, 列数).setValue(値);
.getRange()にさらに行数、列数で範囲を指定
.setValues()に二次元配列を指定する
.setValue()を使うと範囲全てに同じ値が記入される

0 件のコメント:

コメントを投稿