GASで簡単実装!スプレッドシートに2次元配列を書き込む方法
GASを使ってスプレッドシートにデータを書き込みたいんだけど、2次元配列ってどうやって扱えばいいんだろう…?

猫男

catman
それならcatmanが「GASでスプレッドシートに2次元配列を書き込む方法」を教えてやろう!
GASでスプレッドシートに2次元配列を設定する方法
GASでは、スプレッドシートに簡単に2次元配列を書き込むことができる。まずは基本を見てみよう。
2次元配列を用意しよう
スクリプト内で2次元配列を作成する。
var data = [
["名前", "年齢", "職業"],
["山田太郎", 25, "エンジニア"],
["鈴木花子", 30, "デザイナー"],
["佐藤次郎", 40, "マネージャー"]
];
このように、縦と横のデータを含んだ形で配列を用意する。
スプレッドシートにデータを書き込む
GASスクリプトを使って、スプレッドシートにこのデータを配置する。
function writeDataToSheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange(1, 1, data.length, data[0].length).setValues(data);
}
ここでは、SpreadsheetApp.getActiveSpreadsheet()で現在アクティブなスプレッドシートを取得し、sheet.getRange()で書き込む範囲を指定し、その範囲にsetValues()
で2次元配列のデータをセットしている。
2次元配列でデータを管理するメリット
2次元配列を使うことで、データの組織化が楽になる。スプレッドシートへの書き込みも効率的になるさ。
データの視覚化と管理が簡単
2次元配列は横と縦にデータを整理するため、データ構造が簡単に視覚化できるんだ。
GASとの互換性が高い
GASのスプレッドシートAPIは2次元配列形式が基本なので、簡単にデータの入出力ができる。
応用テクニック:スプレッドシートに追加書き込み
すでにデータがあるスプレッドシートにさらに別のデータを書き込みたい場合も簡単だ。
既存データに新しい行を追加
function appendDataToSheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var newData = [
["佐々木立", 29, "営業"]
];
var lastRow = sheet.getLastRow();
sheet.getRange(lastRow + 1, 1, newData.length, newData[0].length).setValues(newData);
}
このスクリプトはgetLastRow()
を使って、既存のデータの最後に新しいデータ行を追加している。
練習問題
1. 2次元配列を作成して、スプレッドシートの3行目から書き込むスクリプトを作成してください。
解答・解説
function practiceWrite() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var practiceData = [
["商品", "価格", "数量"],
["鉛筆", 100, 30],
["ノート", 200, 20]
];
sheet.getRange(3, 1, practiceData.length, practiceData[0].length).setValues(practiceData);
}
ここでもsetValues()
を使うが、今回は3行目からデータを書き込むため、getRange(3, 1, ...)
として特定の位置に配列を書き込んでいる。行の開始位置を3にすると、3行目からデータが設定される。
なるほど!GASで2次元配列をスプレッドシートに書き込む方法がよくわかったよ!ありがとう、catman!

猫男

catman
ふふ、どういたしまして。これから君のGASスキルはどんどんアップしていくはずだ!