質問: array.length; //行の数を取得する sheet_copyTo.getRange(endrow,1,lastRow,lastColumn).setValues(array); for(var i=2;i<=300;i++){ if(ss_copyFrom.getRange(i,11).isBlank()){ sheet_copyTo.getRange(i,9).appendRow(copyValue3); sheet_copyTo.getRange(i,15).appendRow(copyValue3); }else{ sheet_copyTo.getRange(i,9).appendRow(copyValue2); sheet_copyTo.getRange(i,15).appendRow(copyValue2); } sheet_copyTo.getRange(i,4).setValues(copyValue); } } ``` この状態だと ReferenceError: 「array」が定義されていません と表示されてしまいます。
回答: こんな感じ ``` function copylist() { //コピー元のスプレットシートを取得する var ss = SpreadsheetApp.getActiveSpreadsheet(); var ss_copyFrom = ss.getSheetByName("シート1"); var copyValue = ss_copyFrom.getRange("L2:L299").getValues(); var copyValue2 = ss_copyFrom.getRange("J2:K299").getValues();//コピー元のシートの中のセルを指定(一気にとっちゃおう) var setData = copyValue2.map(function(row) { return [row[1] === "" ? row[0] : row[1]]; }); //コピー先のスプレットシートのidを指定 var ss_copyTo = SpreadsheetApp.openById('×××××××××××××'); var sheet_copyTo = ss_copyTo.getSheetByName('シート2');//コピー先のスプレットシートの中のシート名 //コピー先のシートの中のセルを指定して、コピー実行 sheet_copyTo.getRange("I3:I300").setValues(setData); sheet_copyTo.getRange("O3:O300").setValues(setData); sheet_copyTo.getRange("D3:D300").setValues(copyValue); } ```