数组错误如果列包含

时间:2017-11-30 23:26:57

标签: google-apps-script google-sheets

我一直在编写一个脚本,根据B列中的答案将一行移动到另一个工作表。我认为我在那里的大多数方式,因为它确实移动行,但我有一些纠结,可以使用一些建议。

以下是我正在运行的代码的精简版本:(我删除了一些网址  和其他" valueToWatch"变量和其他" ts"表格等等,这样您就不必对长代码进行排序。 ):

function myFunction() {
  var ss = SpreadsheetApp.openById('1sYuI'),
sheetOrg = ss.getSheetByName("Form Responses 1");
var value1ToWatch = "ANDERSON";
var value2ToWatch = "BARNES";
var ts1 = SpreadsheetApp.openById('1Ppms');
 sheet1in = ts1.getSheetByName("Sheet1");
var ts2 = SpreadsheetApp.openById('1BY8YOQ');
   sheet2in = ts2.getSheetByName("Sheet1");

var arr = [], 
values = sheetOrg.getDataRange().getValues(),
i = values.length;

while (--i) {
 if (value1ToWatch.indexOf(values[i][1]) > -1) {
    arr.unshift(values[i])
   sheetOrg.deleteRow(i + 1) 
  sheet1in.getRange(sheet1in.getLastRow()+1, 1, arr.length, arr[0].length).setValues(arr); 
};

 if (value2ToWatch.indexOf(values[i][1]) > -1) {
    arr.unshift(values[i])
   sheetOrg.deleteRow(i + 1) 
  sheet2in.getRange(sheet2in.getLastRow()+1, 1, arr.length, arr[0].length).setValues(arr);
};
}
}
我遇到的一个问题是,即使它正在传输数据,我也会收到此失败通知。

  

TypeError:无法读取属性"长度"来自undefined。 (第41行,文件"代码")

0 个答案:

没有答案