我正在使用以下脚本来使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);
}

07-24 09:15