0

我有一个电子表格,可以从 Google 表单中收集我的表单回复。

附在这张纸上的是一个脚本,它把每一行都拉出来,做一些计算,然后把结果放到另一张纸上。我不是每次都复制整张纸,而是用这样的一段代码来拉两张纸的增量:

/*
*    Any new entries within the Form Responses are added to the respective tab
*    by comparing the sizes of Form Responses and tab. 
*    
*    The colParser argument defines the function that will extract the necessary columns.
*/
function updateTab(tab, responses, colParser) {

  var existingRows = tab.getDataRange().getNumRows();

  for (var i = existingRows; i <= responses.length - 1; i++) {
    tab.appendRow(colParser(responses[i]));
  }
}

问题是我也将过滤器应用于接收表,并且每当我插入任何新数据时过滤器范围都不会更新。

有没有办法解决这个问题?作为上述更新功能的一部分,我可以通过编程方式更新过滤器范围吗?

4

2 回答 2

0

不要将过滤器放在接收表中。而是制作另一张表(选项卡)并使用查询或过滤功能,如 =query(data!a1:F; "select * where ....")

于 2013-10-30T02:45:05.510 回答
0

修改您的公式,使其不引用范围的结尾。此范围将自动添加添加行中的任何内容。

错误的:

 =FILTER(A1:A4, B1:B4 > 0)

正确的:

 =FILTER(A1:A, B1:B > 0)
于 2015-05-21T17:07:42.723 回答