スプレッドシート複数のセルにデータをまとめて書き込むことにより、
・GASの行数を少なく
・ファイルのアクセスを減らす
ができます。
2元配列を利用
まとめて書き込むには、データを2元配列に入れる必要があります。
各配列の説明
1元配列
g=[]、g=[a,b,c,d]
2元配列
g2=[[]]
g2=[[a,b,c,d],[a,b,c,d],[a,b,c,d]]
または
g2[0]=[a,b,c,d]
g2[1]=[a,b,c,d]
g2[2]=[a,b,c,d]
1元配列から2元配列へ変換方法
上記配列例より
- for ループで実施
for(var i =0; i<=2;i++){
g2.push([g[i]])
} - pushコマンドで実施
g2.push(g)
その他:興味本位で試してみました。
1元配列から1元配列ヘ
for(var i =0; i<=2;i++){
g2.push(g[i])
}
1元配列から3元配列ヘ
g2.push([g])
上記を踏まえGASを作成しました
var col =6;
var row =2;
var ary = ["りんご","バナナ","なし"];
var ary2 = [];
var hed_col=col-3;
var hed_row=row;
ary2.push(ary);
sheet.getRange(hed_row,hed_col+2,ary2.length,ary2[0].length).setValues(ary2);
感想
知らない、知っているは、大違いです。これに気づくの時間がかかりました。