【问题标题】:Cell change not automatically detected未自动检测到单元格变化
【发布时间】:2017-09-09 10:04:18
【问题描述】:
我正在使用以下脚本来自动对 Google 电子表格进行排序:
https://gist.github.com/mikebranski/285b60aa5ec3da8638e5
它就像一个魅力,但是。 . .
如果“SORT_COLUMN_INDEX”无论如何都是公式的结果,则不会检测到更改并且电子表格不会(重新)排序。我可以通过编辑公式来触发排序功能(netto 不会更改任何内容),但我想避免此操作。
因此,当我在“SORT_COLUMN_INDEX”中输入数字或使用公式生成数字时,排序功能会起作用。但是当公式自动完成它们的工作(在列中生成数字)时,它就不起作用了。
有人对此有什么想法吗?
安德烈
【问题讨论】:
标签:
javascript
google-sheets
spreadsheet
【解决方案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);
}