【发布时间】:2021-01-14 00:30:20
【问题描述】:
我有两个电子表格,源和目标。在源中我有数据表,在目标中我有存档表。在数据表 J 列中包含百分比。我正在尝试编写一个脚本,该脚本会自动复制 J 单元格中大于 10% 的行的范围 (A:I) 以附加到存档表中。
我被困在这一点上:
function CopyRange() {
var sourcespread = SpreadsheetApp.openById('aaa'); //replace with source ID
var sourcesheet = sourcespread.getSheetByName('bbb'); //replace with source Sheet tab name
var destspread = SpreadsheetApp.openById('ccc'); //replace with destination ID
var destsheet = destspread.getSheetByName('ddd'); //replace with destination Sheet tab name
var testrange = sourcesheet.getRange('J:J');
var testvalue = (testrange.setNumberFormat("0.00").getValues());
var data = [];
var j =[];
//Condition to check in J:J, if true, copy the same row to data array
for (i=0;i<testvalue.length;i++) {
if (testvalue[i] >= 10) {
data.push.apply(data,sourcesheet.getRange(i+1,1,1,3).getValues());
//Copy matched ROW numbers to j
j.push(i);
}
}
//Copy data array to destination sheet
destsheet.getRange(destsheet.getLastRow()+1,1,data.length,data[0].length).setValues(data);
}
我遇到了错误:
TypeError:无法读取未定义的属性“长度”(第 19 行,文件“cp3”)
【问题讨论】:
-
@Marios 附上截图,请看一下
-
然后
1.8>10将评估为false。这就是您收到错误的原因。 -
@Marios 这是第一行...有很多行超过 10
-
true.. 这是源表吗? (
bbb) 或目标工作表 (ddd) ?
标签: javascript google-apps-script google-sheets typeerror