表格,过滤范围和Google脚本

时间:2013-10-24 13:45:52

标签: google-apps-script google-sheets

我有一个电子表格,从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]));
  }
}

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

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

2 个答案:

答案 0 :(得分:0)

请勿将过滤器放在接收纸上。而是创建另一个工作表(选项卡)并使用查询或过滤器函数in = query(data!a1:F;“select * where ....”)

答案 1 :(得分:0)

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

错:

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

右:

 =FILTER(A1:A, B1:B > 0)