LoginSignup
0
1

More than 3 years have passed since last update.

GAS 配列 範囲 取得 set

Posted at

問題発生

GASで範囲を一括で配列に入れた。
しかし、setValuesをした所エラーになった。

原因

1列しか取得していなかったので、
1次元配列になっていた為setValuesがうまく行かなかった。

解決策

1次元配列を2次元配列にする。

範囲を配列で一括取得

ドメインシートの赤枠のカラムを移動する。

スクリーンショット 2020-06-06 22.33.48.png

  //■① 範囲を配列で取得する。(※1列なので一次元配列)
  var array1 = shドメイン.getRange(21, 1, 4, 1).getValues();

色々なサイトを見たが下記の方法ではうまくいかない

  //■② getRange(◯,◯,◯,◯).setValues(array1);だとエラーになる。

配列を一括でset

テーブルシートの赤枠に移動させる。

スクリーンショット 2020-06-06 22.51.33.png

  //■③ array1を二次元配列にする。
  var array2 = []; 
  for (var i=0; i<array1.length; i++) { 
    //■④ array2にarray1を入れているだけ。入れる形に気をつける!!
    array2.push([array1[i]]); 
  } 

  shテーブル.getRange(21,1,array2.length,1).setValues(array2);

できた!!

1列だと2次元配列になっていないので改めて配列に格納する。

スクリーンショット 2020-06-06 22.58.35.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1