我使用JavaScript按时间戳列对Google中的行进行排序。然而,排序不能正常工作,因为最最新的时间戳并没有按它应该的方式显示在顶部。google中时间戳列的数据格式设置为短日期(mm/dd/yyyy)。
有什么问题吗?
function onEdit() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(3, 1, sheet.getLastRow() - 2, sheet.getLastColumn());
range.sort({column: 1, ascending: false});
}输出:(请注意带有时间戳9/3的行应该如何在顶部,但它不是!)

发布于 2020-09-03 15:58:13
解决方案:
在这个特定的场景中,您还可以选择整个范围并对其进行排序:
function onEdit() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getDataRange().sort({column: 1, ascending: false});
}限制:
此方法只适用于ascending: false,否则也会对标头进行排序。
参考资料:
发布于 2020-09-03 15:54:13
因为您在A2调用中排除了getRange(3,..) (语法:getRange(行、列、行数、列数)),所以A2被排除在排序之外。
var range = sheet.getRange(1 + 1/*Modified*/, 1, sheet.getLastRow() - 1/*Modified*/, sheet.getLastColumn());https://stackoverflow.com/questions/63727094
复制相似问题