一个愚蠢的事情让我me不安。我敢肯定你会笑的,但是我该怎么办 对工作表进行排序,而不将第一行包括在内?
这是我的代码:
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test1");
spreadsheet.sort(4); // or spreadsheet.sort(4,false); or spreadsheet.sort(4,true);
这将按D列进行排序,但也会对第一行进行排序。 D列仅包含文本。
有趣的是,如果您对仅包含数字/日期的列进行排序,那么它将起作用,并且确实避免了对第一行进行排序。
那么,我该如何对一列文本进行排序并避免对第一行进行排序?
我知道我可以将范围设置为从A2开始直到最后一列,但这似乎是“混乱”。像这样
spreadsheet.getRange('A2:AI').sort({column: 4, ascending: true});
谢谢
答案 0 :(得分:2)
该解决方案如何?
冻结标题行,然后执行排序操作。
通过这种方式,选择包含电子表格标题的行很容易且易于阅读,并且您可以使用更简洁的语法来应用所有排序操作:
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test1");
spreadsheet.setFrozenRows(1);
spreadsheet.sort(4);
答案 1 :(得分:0)
您可能还会发现此“混乱”,但也许可以保存第一项,对列进行排序,然后再插入第一项?
关于日期/数字的有效排序方式,也许工作表检测到第一个单元格是唯一一个不同的单元格(不是数字或日期),然后不对其进行排序?