【发布时间】:2020-09-11 12:23:07
【问题描述】:
您好,乐于助人的贡献者,
我有一个响应谷歌表,其中包含一组具有不同类型数据值(屏幕截图)的数据范围,如下所示。 Col2 时间戳值是根据用户在 gform 中的输入自动生成的。我将它作为 col2 移动(默认在 col1 中),因为我想将 Quote ID 作为主键 col。报价 ID 值是根据提交 gform 时触发的 google 脚本自动生成的:-
gresponse 表排序不一致
我想我们会按时间戳对数据范围进行自动排序(我非常需要它来按时间戳排序),但这与我的情况不一致。我已经尝试了以下代码,但仍然无法始终如一地工作。但是,当我使用过滤器功能在工作表中手动对其进行排序以选择时间戳列然后对 A-> Z 进行排序时,它工作正常。但这对我的要求无效
方法一:
// this resulted as in the screenshot.
SortRange = "A2:AC";
SortOrder = [{column:2, ascending: true}];
function multiSortColumns(){
var range = msheet.getRange(SortRange);
range.sort(SortOrder);
}
方法二:
// some sorted, some not but still wrong and not ascending order.
SortRange = 2,1,sheet.getLastRow() - 1, sheet.getLastColumn();
SortOrder = [{column:2, ascending: true}];
function multiSortColumns(){
var range = sheet.getRange(SortRange);
range.sort(SortOrder);
}
方法三
var sheet=SpreadsheetApp.getActiveSheet().sort(2);
// this doesn't sort by specific column we want and it includes sorting the header.
请帮助更正我的代码。提前 Tqvm。
【问题讨论】:
-
您是否在 formSubmit 触发器上运行此功能?为什么时间戳一开始就搞砸了?通常表单会按时间顺序将数据提交到目标工作表。
-
@ziganotschka OP 可能手动对其他列进行排序
标签: javascript google-apps-script google-sheets google-forms