Google Apps Script(GAS)は、Googleの各種サービスを自動化できる便利なツールです。中でも「スプレッドシートへのデータ書き込み」は、業務効率化や個人作業の自動化に非常に役立ちます。本記事では、GASを使ってスプレッドシートにデータを書き込む基本の書き方から、応用的な使い方まで詳しく解説していきます。これからGASを始めたい方、スプレッドシート操作を自動化したい方に向けて、わかりやすく手順を紹介します。
Google Apps Script(GAS)を使えば、Google スプレッドシートに対してプログラムで直接データを入力することができます。
たとえば、フォームから受け取ったデータを自動で記録したり、毎日のレポートを自動生成したりすることが可能です。
人の手を介さずにデータ処理を行うことで、ミスを減らし、作業時間も短縮できます。
この章では、まず「なぜスプレッドシートへの書き込みをGASで行うのか」について簡単に整理しておきましょう。
これらのメリットを活かすために、GASをマスターしていきましょう。
まずはGASでスプレッドシート操作を行うための基本設定をしていきます。
これで、GASを使ってスプレッドシートを操作する準備が整いました。
まずは最も基本的な「データ1件を書き込む」コード例を紹介します。
function writeDataSimple() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange(1, 1).setValue('こんにちは、世界!');
}
このスクリプトを実行すると、スプレッドシートのA1セルに「こんにちは、世界!」と書き込まれます。
SpreadsheetApp.getActiveSpreadsheet()
.getActiveSheet()
.getRange(1, 1)
.setValue('データ')
これが基本の書き込みパターンです。
次は、複数のデータをまとめて書き込む方法を紹介します。
function writeMultipleData() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = [
['名前', '年齢', '性別'],
['田中太郎', 28, '男性'],
['山田花子', 24, '女性']
];
sheet.getRange(1, 1, data.length, data[0].length).setValues(data);
}
このスクリプトを実行すると、A1からC3までに表形式でデータが一気に書き込まれます。
getRange(開始行, 開始列, 行数, 列数)
.setValues(配列)
データが多い場合はこの方法が圧倒的に効率的です。
「毎回、表の最後にデータを追加したい!」というケースもよくあります。
その場合は、次のようなコードを使います。
function appendData() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = ['佐藤一郎', 30, '男性'];
sheet.appendRow(data);
}
appendRow(配列)
これで、スプレッドシートに新しい行が自動で追加されていきます。
複数シートがある場合、特定のシートに書き込みたいこともあります。
function writeToSpecificSheet() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName('データシート');
sheet.getRange(1, 1).setValue('特定シートへの書き込み成功');
}
ポイントは、getSheetByName('シート名')
を使ってシートを指定するところです。
シート名が正確でないとエラーになるので注意しましょう。
業務でよくある「日付記録」を自動で行いたい場合のコード例です。
function writeDate() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var now = new Date();
sheet.getRange(1, 2).setValue(now);
}
このスクリプトを実行すると、B1セルに現在の日付と時刻が記録されます。
ポイントは、JavaScriptの標準オブジェクトDate()
を使う点です。
スプレッドシートへの書き込みでは、いくつか注意すべき点があります。
getRange
で範囲を間違えると、意図しない場所に書き込まれる可能性があります。getSheetByName
はシート名が1文字でも違うとエラーになります。これらを事前に理解しておくと、スムーズに作業を進めることができます。
最後に、実務でよく使われる応用例をいくつか紹介します。
こうした応用も、今回紹介した基本操作を組み合わせれば実現できます。
Google Apps Scriptでスプレッドシートにデータを書き込む方法は、基本さえ押さえればとてもシンプルです。
単純なセルへの書き込みから、表形式での一括出力、最終行への追記、自動日付入力など、さまざまなニーズに対応できます。
業務効率化を目指すなら、ぜひこの機会にGASによるスプレッドシート操作をマスターしておきましょう!