我正在使用以下脚本来使Google电子表格自动排序:
https://gist.github.com/mikebranski/285b60aa5ec3da8638e5
它的工作原理很像,但是。 。 。
如果“ SORT_COLUMN_INDEX”无论如何都是公式的结果,则不会检测到更改并且电子表格不会(重新)排序。我可以通过编辑公式(不更改任何内容)来触发排序功能,但我想避免执行此操作。
因此,当我在“ SORT_COLUMN_INDEX”中键入数字或使用公式生成它们时,排序功能就可以工作。但是,当公式自动完成工作(在列中产生数字)时,它将不起作用。
有人对此有想法吗?
安德烈
最佳答案
修改脚本,以便在对公式引用的单元格进行更改时,它也可以重新排序。如果这些单元格在带有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);
}