簡単な内容
スプレッドシートで、A~S列まであり、2000程の行があります。
列【R】が破棄となった場合に、別シート【破棄】に移動させたく試してみたのですが、
//1行目(見出し)をsprt_arrayに追加
for(let i=0; i<1; i++){
sprt_array.push(sprt_sh_data[i]);
}
上記でエラーが発生し、どこが間違っているか解決できず困っています。
初歩的な質問かもしれませんが、ご教示の程、よろしくお願いいたします。
エラーメッセージ
構文エラー: Missing ; after for-loop initializer. 行: 22 ファイル: 再配列
発生している問題・エラーメッセージ
### 該当のソースコード function archive(){ //スプレッドシート情報 const ss_ID = 'ID入力済み' const sprt_sh_name = '管理' const arch_sh_name = '破棄' //配列の初期化 const sprt_array = []; const arch_array = []; //ID、シート名を指定してシートを取得 const ss = SpreadsheetApp.openById(ss_ID); const sprt_sh = ss.getSheetByName(sprt_sh_name); //シートの行数をA列で数える const sprt_values = sprt_sh.getRange('A:A').getValues(); //空白の要素を除いた長さを取得 const sprt_lastrow = sprt_values.filter(String).length; //配列で取得(1行目、1列、A列の長さ、取得する列数) const sprt_sh_data = sprt_sh.getRange(1,1,sprt_lastrow,19).getValues(); //1行目(見出し)をsprt_arrayに追加 for(let i=0; i<1; i++){ sprt_array.push(sprt_sh_data[i]); } //2行目から「破棄」かどうかを判定 for (let i=1; i< sprt_lastrow; i++){ //「破棄」の場合はarch_arrayへ追加 if(sprt_sh_data[i][17] == '破棄'){ arch_array.push(sprt_sh_data[i]); //「破棄」以外の場合はsprt_arrayへ追加 }else{ sprt_array.push(sprt_sh_data[i]); } } //シート名「管理」にsprt_arrayを書き込む sprt_sh.clearContents(); //シートを消す const sprt_array_lastcolum = sprt_array[0].length; //カラムの値を取得する const sprt_array_lastrow = sprt_array.length; //対応中シートの行数を取得する sprt_sh.getRange(1,1,sprt_array_lastrow,sprt_array_lastcolum).setValues(sprt_array); //書き込む //シート名「破棄」にarch_arrayを書き込む const arch_sh = ss.getSheetByName(arch_sh_name); const arch_sh_values = arch_sh.getRange('A:A').getValues(); const arch_sh_lastrow = arch_sh_values.filter(String).length; const arch_array_lastcolum = arch_array[0].length; //カラムの値を取得する const arch_array_lastrow = arch_array.length; //行の数を取得する arch_sh.getRange(arch_sh_lastrow+1,1,arch_array_lastrow,arch_array_lastcolum).setValues(arch_array); //書き込む }

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。