我正在尝试创建一个函数,按第 4 列对工作表数据进行降序排序,
function specialSort(){
var sheet = SpreadsheetApp.getActive().getSheetByName('DATA');
sheet.sort({ column: 4, ascending: false })
}
其他答案(例如,here)似乎推荐这种方法。但是为什么这段代码会抛出错误
Exception: Cannot convert '[object Object]' to int
?如果我简单地使用 sheet.sort(4)
,我会得到我想要的结果(按第 4 列对整个工作表进行排序),只不过它是按升序排列的。
请注意:我想按第 4 列(降序)对整个工作表进行排序,而不仅仅是列本身。
从你的脚本中,我认为
sort(sortSpecOb)
是针对 Class Range 的。 Class Sheet 的 sort(columnPosition, ascending)
的参数是 columnPosition
(整数)、ascending
(布尔值)。我认为这可能是您当前问题的原因。在你的脚本中,进行以下修改怎么样?
function specialSort() {
var sheet = SpreadsheetApp.getActive().getSheetByName('DATA');
sheet.sort(4, false);
}