GAS開発者向けにスプレッドシートの値設定取得機能をすべてまとめました。
シートやセルに値を設定したり、値を取得する処理はGASの基本中の基本ですね。基本から学ぶにはもってこいのメソッドです。
単純なデータ設定や複雑な配列取得までデータを自由自在に操りまくりましょう。
値設定取得機能関するメソッドをすべて載せてます。少しでも参考になれば幸いです。
Google Apps Script スプレッドシート 基礎 リファレンス
当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。
若干、文言がおかしい可能性がありますが、あらかじめご了承ください。
GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。
まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。
GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。
基本的な仕様やよく使われる機能の設定方法がまとまっています。
※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。
セル範囲クラス[Range]の値設定
セル範囲の値設定メソッドです。
値設定[setValue(値)]
setValue(value)
範囲の値を設定します。値は数値、文字列、ブール値、または日付です。それが '='で始まっているなら、それは式として解釈されます。
function setValueSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B2");
cell.setValue(100);
}
名前 | タイプ | 説明 |
---|---|---|
value | Object | 範囲の値 |
Return
Range - 連鎖用のセル範囲。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setValue(value)
配列値設定[setValues(値's)]
setValues(values)
値の2次元配列を設定します(この範囲のサイズと一致する必要があります)。
function setValuesSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
// 2次元配列のサイズは範囲のサイズと一致する必要があります。
var values = [
[ "2.000", "1,000,000", "$2.99" ]
];
var range = sheet.getRange("B2:D2");
range.setValues(values);
}
名前 | タイプ | 説明 |
---|---|---|
values | Object[][] | 値の2次元配列 |
Return
Range - 連鎖用のセル範囲。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setValues(values)
セル範囲クラス[Range]の値取得
セル範囲の値取得メソッドです。
値取得[getValue()]
getValue()
範囲内の左上のセルの値を返します。値は、セルの値に応じてNumber、Boolean、Date、またはString型になります。空のセルは空の文字列を返します。
Return
Object - このセルの値
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getValue()
配列値取得[getValues()]
getValues()
この範囲の値の2次元配列を返します。
行、列の順にインデックス付けされた値の2次元配列を返します。値は、セルの値に応じて、数値型、ブール型、日付型、または文字列型になります。空のセルは、配列内の空の文字列で表されます。範囲インデックスは1、1から始まりますが、JavaScript配列は[0] [0]からインデックスが付けられていることを忘れないでください。
function getValuesSample() {
// 以下のコードは、アクティブなスプレッドシートの範囲C2:G8の値を取得します。これはJavaScriptの配列です。
// これはJavaScriptの配列です。
var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getValues();
Logger.log(values[0][0]);
}
Return
Object[][] - 値の2次元配列
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getValues()
表示値取得[getDisplayValue()]
getDisplayValue()
範囲内の左上のセルの表示値を返します。値は文字列です。表示される値は、スプレッドシートのロケール設定によって自動的に適用されるフォーマットを含む、日付、時刻、および通貨のフォーマットフォーマットを考慮しています。空のセルは空の文字列を返します。
Return
String - セルに表示される値。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getDisplayValue()
表示配列値取得[getDisplayValues()]
getDisplayValues()
この範囲の値の2次元配列を返します。
行、次に列でインデックス付けされた表示値の2次元配列を返します。値はStringオブジェクトです。表示される値には、スプレッドシートのロケール設定によって自動的に適用される形式を含む、日付、時刻、および通貨の形式が考慮されます。空のセルは、配列内の空の文字列で表されます。範囲インデックスは1、1から始まりますが、JavaScript配列は[0] [0]からインデックスが付けられていることを忘れないでください。
function getDisplayValuesSample() {
// 以下のコードは、アクティブなスプレッドシートの範囲C2:G8の表示値を取得します。
// これはJavaScriptの配列です。
var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getDisplayValues();
Logger.log(values[0][0]);
}
Return
String[][] - 値の2次元配列
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getDisplayValues()
セル範囲リストクラス[RangeList]の値設定
セル範囲リストの値設定メソッドです。
値設定[setValue(value)]
setValue(value)
範囲リストの各範囲に値を設定します。値は数値、文字列、ブール値、または日付です。それが '='で始まっているなら、それは式として解釈されます。
function setValueSample() {
var sheet = SpreadsheetApp.getActiveSheet();
// 範囲リストの各範囲に100の値を設定します。
var rangeList = sheet.getRangeList(['A:A', 'C:C']);
rangeList.setValue(100);
}
名前 | タイプ | 説明 |
---|---|---|
value | Object | 範囲の値 |
Return
RangeList - 連鎖用のセル範囲リスト。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | setValue(value)
シートクラス[Sheet]のアクティブ取得
シートの配列値取得メソッドです。
シート配列値取得[getSheetValues(開始行, 開始列, 行数, 列数)]
getSheetValues(startRow, startColumn, numRows, numColumns)
指定された座標から開始して、この範囲の値の2次元配列を返します。行または列の位置として指定された-1の値は、シート内にデータがある最後の行または列を取得するのと同じです。
function getSheetValuesSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
// 以下の2つのサンプルは同じ出力を生成します
var values = sheet.getSheetValues(1, 1, 3, 3);
Logger.log(values);
var range = sheet.getRange(1, 1, 3, 3);
values = range.getValues();
Logger.log(values);
}
名前 | タイプ | 説明 |
---|---|---|
startRow | Integer | 開始行の位置です。 |
startColumn | Integer | 開始列の位置です。 |
numRows | Integer | 値を返す行数。 |
numColumns | Integer | 値を返す列の数。 |
Return
Object[][] - 値の2次元配列
最後に
GAS値設定取得のまとめをご紹介させていただきました。
必要に応じて、有益な情報でさらに更新していきたいと思います。
プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。
実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。
実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。
自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。
GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。
Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓
ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。
コメント