GAS:スプレッドシート 複数のセルにまとめて書き込み

スプレッドシート複数のセルにデータをまとめて書き込むことにより、

 ・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元配列へ変換方法

上記配列例より

  1. for ループで実施
     for(var i =0; i<=2;i++){
              g2.push([g[i]])
        }
  2. 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);

感想

知らない、知っているは、大違いです。これに気づくの時間がかかりました。