Google Apps Script の質問です。 当方、基本的に見様見真似でWEBからの切り貼りでなんとなく理解?の範囲でやってます。
Google Apps Script の質問です。 当方、基本的に見様見真似でWEBからの切り貼りでなんとなく理解?の範囲でやってます。 内容は、同じ書式の各シートからgetValues()で二次配列に格納し 順にpushで結合したいのですがうまくいきません。 どこが悪いか教えていただけますか? 以下のような感じで書いてます。 (実際はforでシート分だけ繰り返し) 各シートごとでbuf.length buf[0].lengthでは正しく20,000行、20列ですが Data.length Data[0].lengthでは、行が3、列が20,000となってしまします。 2回目のpushで列?にくっついてしまってるようですがよくわかりません。 var Data = []; var buf = ss1.getRange(1, 1, 20000, 20).getValues(); Data.push(buf); buf = ss2.getRange(1, 1, 20000, 20).getValues(); Data.push(buf); buf = ss3.getRange(1, 1, 20000, 20).getValues(); Data.push(buf); よろしくお願いいたします。
JavaScript | プログラミング・32閲覧・100
ベストアンサー
その書き方だと配列に二次元配列を三つ追加した三次元配列になりますね。 iPhoneで回答しているので動作見てないですが、以下の様に書くと意図した動きになりませんか? var buf1 = ss.getRange(1,1,20000,20).getValues(); var buf2 = ss.getRange(1,1,20000,20).getValues(); var buf3 = ss.getRange(1,1,20000,20).getValues(); var Data = buf1.concat(buf2,buf3);
質問者からのお礼コメント
ありがとうございます!
お礼日時:1/17 20:55