- 公開日:
GASでスプレッドシートに書き込む方法
Google スプレッドシートではシートの指定したセルに、Google Apps Script(GAS)を使用して書き込むことが出来ます。
GASで作成したスクリプトは主に、シート上で特定の操作処理をさせるイメージですが、GAS側からシートへの書き込みのような操作処理を行うことも可能です。
この記事ではGASでスプレッドシートに書き込む方法を分かりやすく紹介します。
GASでスプレッドシートに書き込む方法
GASでスプレッドシートに書き込むスクリプトの内容によって、「個々のセルに書き込む」「複数のセルに書き込む」「セル範囲に書き込む」といったような、様々なスクリプトを作成することが出来ます。
以下より、GASを利用してスプレッドシートに書き込む方法をそれぞれに分けて詳しく解説します。
セルに書き込む

①「拡張機能」②「Apps Script」を順に選択します。

「新しいプロジェクト」ボタンをクリックします。

「名前を変更」をクリックします。

①「プロジェクトタイトル(例:個々のセルに書き込む)」を入力し、②「名前を変更」ボタンをクリックします。

下記のスクリプトをコピーして貼り付けます。
1つのセルを指定してデータを書き込むスクリプトです。
function writeSingleCell() {
// アクティブなスプレッドシートを取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// A1セルにデータを書き込む
sheet.getRange("A1").setValue("個々のセルに書き込む");
}
getRangeに「A1」を入力し、setValueに「個々のセルに書き込む」を入力しています。

「プロジェクトを保存」ボタンをクリックします。

「実行」ボタンをクリックします。

GASを使用して指定したセルに書き込むことが出来ました。
複数のセルに書き込む
複数のセルに書き込む場合は下記のスクリプトを使用してください。
書き込みたいセルの数だけ「sheet.getRange("セル名").setValue("文字列");」を追加します。
function writeMultipleCells() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// A1, B1, C1セルにデータを書き込む
sheet.getRange("A1").setValue("複数の");
sheet.getRange("B1").setValue("セルに");
sheet.getRange("C1").setValue("書き込む");
}
A1セルには「複数の」、B1セルには「セルに」、C1セルは「書き込む」と書き込みます。

GASを使用して指定した複数のセルに書き込むことが出来ました。
セル範囲に書き込む
セル範囲に書き込む場合は下記のスクリプトを使用してください。
セル範囲に書き込みたいデータを配列で指定します。
function writeRangeOfCells() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// データの配列を作成
var data = [
["ひらがな", "数値", "この"],
["あああ", 10, "セル"],
["いいい", 20, "範囲に"],
["ううう", 30, "書き込む"]
];
// A1から始まる範囲にデータを書き込む
var range = sheet.getRange("A1:C4");
range.setValues(data);
}
配列を指定する際、["1列目", "2列目", "3列目"]のように行数分だけ追加します。

GASを使用して指定したセル範囲に書き込むことが出来ました。