我有一张包含8张的Google表格,需要在输入时对数据进行排序。我已经能够修改脚本以自动排序每个单独的工作表,但我需要从排序中排除第1行和第2行。我对使用脚本相当新,所以任何帮助都表示赞赏。基本上,当数据输入主表时,它被发送到事件页面(事件1 - 事件8)。从页面我希望数据按列A排序,但排除第1行和第2行。
function AutoSortOnEdit() {
var sheetNames = ["Event 1", "Event 2", "Event 3", "Event 4", "Event 5",
"Event 6", "Event 7", "Event 8"];
var ss = SpreadsheetApp.getActiveSpreadsheet();
sheetNames.forEach(function(name) {
var sheet = ss.getSheetByName(name);
var range = sheet.getRange(2, 1, sheet.getLastRow() - 1,
sheet.getLastColumn());
range.sort({column: 1, ascending: true});
});
我希望每个工作表自动对第1列进行排序,但排除前两行。我已经能够使大部分脚本工作,但无法弄清楚如何排除第1行和第2行。
我对此脚本的结果是每个工作表都会排序,但它包含前两行
答案 0 :(得分:2)
这次修改怎么样?
getRange(3, 1, sheet.getLastRow() - 1, sheet.getLastColumn())
。
getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn())
,则只排除第1行。您可以尝试以下修改吗?
var range = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn());
var range = sheet.getRange(3, 1, sheet.getLastRow() - 1, sheet.getLastColumn());
如果我误解了你的问题,我很抱歉。