我使用以下脚本来自动对Google电子表格进行排序:
https://gist.github.com/mikebranski/285b60aa5ec3da8638e5
它就像一个魅力,但是。 。 。
如果'SORT_COLUMN_INDEX'无论如何都是公式的结果,则不会检测到更改,并且电子表格不会(重新)排序。我可以通过编辑公式来触发排序功能(netto不改变任何东西),但我想避免这个动作。
因此,当我在'SORT_COLUMN_INDEX'中键入数字或使用公式生成数字时,排序功能起作用。但是当公式自动完成工作(在列中生成数字)时,它不起作用。
有人对此有所了解吗?
安德烈
答案 0 :(得分:1)
修改脚本,以便在对公式引用的单元格进行更改时重新排序。如果这些单元格位于ANOTHER_COLUMN_INDEX
的列中,则表示替换(第99-101行)
if (editedCell.getColumn() == SORT_COLUMN_INDEX) {
autoSort(activeSheet);
}
带
if (editedCell.getColumn() == SORT_COLUMN_INDEX || editedCell.getColumn() == ANOTHER_COLUMN_INDEX) {
autoSort(activeSheet);
}
或者更好的是,创建一个数组WATCHED_COLUMNS
,其中包含要查看的列号,并使用
if (WATCHED_COLUMNS.indexOf(editedCell.getColumn() != -1) {
autoSort(activeSheet);
}