1
列Cには、複数の行に関連するIDがありますが、最初の行にはIDが含まれています。列内の断続的な空白を埋め込むGoogleシートスクリプト
私は別の値を持つセルを押すまで、そのID値を下の空白のセルにコピーする必要があります。
私はこのスクリプトを適応しようとしたが、それはタイムアウトエラーに当たります。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var last = sheet.getLastRow();//how many times should I do this?
for (i = 5528; i < last; i++) {
var test = sheet.getRange(i, 1,1,1);
//Logger.log(test);
//looks to see if the cell is empty
if (test.isBlank()) {
var rewind = sheet.getRange(i-1, 1, 1, 1).getValues();//gets values from the row above
sheet.getRange(i, 1, 1, 1).setValues(rewind);//sets the current range to the row above
}
}
}
私はタイムアウトするたびに最初からやり直す必要があるため、大きな数字に設定されています。
私は、配列の列を持ってきて作業し、それを元に戻して多くの時間を節約する方がよいと読んだことがあります。
私はこれを適応させようとしましたが、変数を越えることはできません。
私は適切なトラックにいますか?私は、私が列や範囲を渡して同じことをすることができる未来のための解決策をきれいにしたいと思います。
function FillDown2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet2");
var tracts = sheet.getRange("C15:C").getValues();
var allTractList = [];
var title;
for (var row = 0, var len = tracts.length; row < len; row++) {
if (tracts[row][0] != '') {
//response = UrlFetchApp.fetch(tracts[row]);
//doc = Xml.parse(response.getContentText(),true);
title = tracts[row][0];
//newValues.push([title]);
allTractList.push([title]);
Logger.log(title);
} else allTractList.push([title]);
}
//Logger.log('newValues ' + newValues);
Logger.log('allTractList ' + allTractList);
// SET NEW COLUMN VALUES ALL AT ONCE!
sheet.getRange("B15").offset(0, 0, allTractList.length).setValues(allTractList);
return allTractList;
}
に私はあなたが解決策を見つけることをうれしく思います。エラーメッセージの正確な表現を含めると、あなたの質問がより良くなる可能性があります。参照[mcve]。 –