【问题标题】: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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      • 2011-03-07
      • 2016-08-23
      • 1970-01-01
      • 2021-06-18
      • 1970-01-01
      相关资源
      最近更新 更多