GAS(Google Apps Script)でスプレッドシートを操作する際、スプレッドシートの値を取得することがあります。
今回は、スプレッドシートを取得し、値を取得する方法について解説します。
- スプレッドシートを取得する
- セルの値を取得する
スプレッドシートを取得する
スプレッドシートを取得する
アクティブなスプレッドシートを取得する
var sheet = SpreadsheetApp.getActiveSheet();
指定したスプレッドシートを取得する
idを指定して開く
var ss = SpreadsheetApp.openById(id);
スプレッドシートのurlの“/d/”と“/edit”の間の部分のこと
https://docs.google.com/spreadsheets/d/********/edit
urlを指定して開く
var ss = SpreadsheetApp.openByUrl(url);
スプレッドシートのこと
https://docs.google.com/spreadsheets/d/********/edit
シートを取得する
アクティブなスプレッドシートを取得する
※先程の「アクティブなスプレッドシートを取得する」と同じ
var sheet = SpreadsheetApp.getActiveSheet();
指定したスプレッドシートを取得する
var sheet = SpreadsheetApp.getActiveSheet().getSheetByName(sheetName);
セルの値を取得する
セルの値を取得する方法は、“getValue”と”getDisplayValue”の2つあります。
データの型をそのまま取得したい場合は、getValue、
表示値をそのまま(文字列として)取得したい場合は、getDisplayValueを使用します。
例えば、”A1″セルに”1%”と表示されている場合以下のようになります。
getValue … 0.01
getDisplayValue … 1%
データの型をそのまま取得する
getRange().getValue()でセルのデータの型のまま取得します。
セルを指定して取得する
“”(ダブルクォーテーション)でセルを囲むことで指定したセルの値を取得できます。
getRange("セル").getValue();
A1セルの値を取得したい場合は、以下のように記載します。
getRange("A1").getValue();
行と列を指定して取得する
行と列を指定してセルの値を取得することもできます。
getRange(行, 列).getValue();
A1のセルを取得したい場合は、以下のように記載します。
getRange(1, 1).getValue();
サンプルコード (コピペでOK)
セルを指定して値を取得するコードは以下の通りです。
function sample1() {
// アクティブシートを取得する
var sheet = SpreadsheetApp.getActiveSheet();
// "A1"セルの値を取得する
var value = sheet.getRange("A1").getValue();;
// コンソールに値を出力する
console.log(value);
}
実効結果
A1
行と列を指定して値を取得するコードは以下の通りです。
function sample1() {
// アクティブシートを取得する
var sheet = SpreadsheetApp.getActiveSheet();
// "A1"セルの値を取得する
var value = sheet.getRange(1, 1).getValue();;
// コンソールに値を出力する
console.log(value);
}
実効結果
A1
表示値をそのまま取得する
getRange().getDisplayValue()でセルの表示値をそのまま(文字列として)取得します。
コードの記載方法は、”getValue”を”getDisplayValue”にするだけなので、ここでは省略します。
まとめ
セルの値を取得するには、”getValue”、”getDisplayValue”を使用します。
getValue … データの型ごと取得する
getDisplayValue … データを文字列(表示値)として取得する
基本的には、”getValue”を使用しますが、表示値をそのまま使用したい時に”getDisplayValue”を使用します。