Google Apps Script(GAS)を使って、スプレッドシートのセルの値を取得したり、変更したりできたら便利ですよね。
今まで手作業でやっていた多くの業務を自動化できるのではないでしょうか?
当記事では、
- GASでスプレッドシートのセル値を取得する方法
- GASでスプレッドシートのセル値を変更する方法
というテーマで解説します。
GASでスプレッドシートの値を変更・取得する手順
GASでスプレッドシートの値を変更・取得する際には、以下の手順で処理を進めます。
- シートオブジェクトを取得
- セルオブジェクトを取得
- セル値の取得 or 変更
それぞれの工程について解説します。
まずはシートオブジェクトを取得
まずはシートオブジェクトを取得し、「どのシートの値を取得・変更するのか」を指定できるようにします。
スプレッドシートは以下のような情報構成になっているため、セルの値を変更するにはそれぞれのオブジェクトを順に辿っていく必要があります。
- スプレッドシートファイル(spreadsheet)
- シート(sheet)
- セル範囲(range)・セル(cell)
- バリュー・値(value)
以下の記事ではシート(sheet)までの取得方法について解説していますので、シートオブジェクトの取得方法についてはこちらを参考にしてください。
getRange関数でセルオブジェクトを取得
シートオブジェクトを取得したら、次は「どのセル範囲が対象なのか」を指定します。
セル範囲を指定するには「getRangeメソッド」を用います。
getRange関数は、1セルを指定する場合にも、複数セルを範囲指定する場合にも対応しています。
getRangeメソッドで1つのセルを指定する場合
var cell_A =getRange("A1");
getRangeメソッドで複数セルを範囲で指定する場合
var cells_A =getRange("A1:B3");
GASでスプレッドシートのセル値を取得するには
GASでスプレッドシートのセル値を取得するには、セル範囲オブジェクト(Rangeオブジェクト)に対してgetValueメソッド(getValuesメソッド)を使います。
【getValue】数値でセル値を取得
1セルの値を取得したい場合は、getValueメソッドを使います。
以下にサンプルコードを実行結果と載せますので、参考にしてください。
getValueのサンプルコード
var cell_A_value = cell_A.getValue();
Logger.log(cell_A_value);
getValueの実行結果
【getValues】配列でセル値を取得
複数セルの値を配列として取得したい場合は、getValuesメソッドを使います。
以下にサンプルコードを実行結果と載せますので、参考にしてください。
getValuesのサンプルコード
var cells_A_values = cells_A.getValues();
Logger.log(cells_A_values);
getValuesの実行結果
GASでスプレッドシートのセル値を変更するには
GASでスプレッドシートのセル値を取得するには、セル範囲オブジェクト(Rangeオブジェクト)に対してsetValue関数(setValues関数)を使います。
【setValue】数値でセル値を変更
1セルの値を変更したい場合は、setValueメソッドを使います。
以下にサンプルコードを実行結果と載せますので、参考にしてください。
setValueのサンプルコード
cell_A.setValue("テストA");
【setValues】配列でセル値を変更
複数セルの値を配列で変更したい場合は、setValuesメソッドを使います。
以下にサンプルコードを実行結果と載せますので、参考にしてください。
setValuesのサンプルコード
cells_A.setValues([[1,2],[3,4],[5,6]]);
まとめ
今回は「GASでスプレッドシートのセル値を取得する方法」「GASでスプレッドシートのセル値を変更する方法」というテーマで解説しました。
スプレッドシートの値を取得したり変更したりできるようになると、シートの処理を軽くしたり、別シートからコピペしたり、Gmailの内容を蓄積させたりなど、色々な使い方ができます。
アイデア次第で活用方法は無限大なので、ぜひ一度お試しください。
では、また。