gas 二次元配列シート出力
解決したいこと
二次元配列をシートに出力する際にエラーが発生してしまいます。原因は恐らく二次元配列の中の配列の要素の個数が違うことから起きています。
個数を一番大きいものに揃えたいのですがどうしたらよいでしょうか。
発生している問題・エラー
Exception: データの列数が範囲の列数と一致しません。データは 30 列ですが、範囲は 45.列です。
該当するソースコード
function compare(data) {
let newarray = []
for(var i=1; i < 5000 ; i++){
if(data[i][15] !== "ok")
newarray.push(data[i])
for(var j=2; j < 5001 ; j++){
if(i !== j && data[i][1] === "SinglePhrase" && data[j][1] === "SinglePhrase" && data[j][15] !== "ok"){
if (data[i][12] === data[j][12] ) {
newarray[newarray.length - 1] = newarray[newarray.length - 1].concat(data[j]);
data[j].push("ok")
}
}
}
}
return newarray
}
const result = compare(data)
sheet_output.getRange(1,1,4053,45).setValues(result);
自分で試したこと
エラーの表示どおりデータを30にしたが、そうすると次はデータは 45列ですが、範囲は 30.列ですと同じ繰り返しをしてしまいました。
0