#Spreadsheetのセルを操作する編
##0.はじめに
この記事ではGASからSpreadsheetのセル操作における、セル内の値を取得する方法についてご紹介する。
1.特定のセルの中身を取得する。
2.特定の範囲のセルの中身をfor文を使って順に同じオブジェクトに取得する。
3.特定の範囲のセルを配列使って取得する。
##Method
//特定のセルを指定
sheetobject.getrange('列行番号');
//'列行番号'はA1、B5など。
//特定のセルの範囲を指定
sheetobject.getrange('行番号, 列番号, 行数, 列数');
//行番号, 列番号, 行数, 列数の順に入力する。
rangeobject.getValue();
//単体のセルの値を取得する。
sheetobject.getdatarange().getvalues();
//sheetの値を全てdataとして取得する。
##1.特定のセルの中身を取得する。
A1に値(5)が入っている。この値(5)を取得してオブジェクトに格納する。
function myFunction() {
var ss1 = SpreadsheetApp.openById("Spreadsheet-key");
//spreadsheetをss1に格納。
var sh1 = ss1.getSheetByName("sheet1");
//特定のシート(sheet1)をsh1に格納
var sell1 = sh1.getRange('A1')
Logger.log(sell1.getValue());
##2.特定の範囲のセルの中身をfor文を使って順に同じオブジェクトに取得する。
A1からA10に格納している値は以下。この値をfor文使って順に同じオブジェクトに格納していく。
function myFunction() {
var ss1 = SpreadsheetApp.openById("spreadsheet-key");
//spreadsheetをss1に格納。
var sh1 = ss1.getSheetByName("sheet1");
//特定のシート(sheet1)をsh1に格納
var sell1 = sh1.getRange('A1')
//sell1にA1の値を格納する。
for(var i = 1;i <= 10; i++)
{
var sell3 = sh1.getRange(i,1,1,1);
//getrange(行番号, 列番号, 行数, 列数);
Logger.log(sell3.getValue());
}
##3.特定の範囲のセルを配列使って取得する。
シートは以下のように値が入っている。
配列を使って、自由自在に値を取得する。
function myFunction() {
var ss1 = SpreadsheetApp.openById("1-rQe4tnalMfTKRDCRCN6LWTaGvum67Ok8wnlxyG3-lo");
//spreadsheetをss1に格納。
var sh1 = ss1.getSheetByName("sheet1");
//特定のシート(sheet1)をsh1に格納
var sell1 = sh1.getRange('A1')
//sell1にA1の値を格納する。
var data1 = sh1.getDataRange().getValues();
//sh1の列を全てdataとして格納する。
Logger.log(data1[0][0]);
Logger.log(data1[2][1]);
//配列を指定して取得する。
##まとめ
今回はGASを使って特定のセルの値を取得する方法を紹介しました。
次回はGASからセルに入力する編を書こうと思います。
取得・入力が理解できれば、基本的操作はこれでほぼ理解したと言えるでしょう!
あと書きたいのは、GASで計算式を扱う方法、セルに計算式を入力する方法...
この辺が終わったあと、Gmail操作編を描こうと思っています。