Javascript 尝试在google工作表中查找单元格值,然后返回单元格值
获取TypeError:无法读取未定义的属性“0”(第35行) 我试图在谷歌表单中找到一个单元格值,然后将该单元格值返回到另一个单元格中 我不明白为什么我会有一个类型错误,我已经尝试了所有形式的toString方法或什么都没有 请帮忙Javascript 尝试在google工作表中查找单元格值,然后返回单元格值,javascript,Javascript,获取TypeError:无法读取未定义的属性“0”(第35行) 我试图在谷歌表单中找到一个单元格值,然后将该单元格值返回到另一个单元格中 我不明白为什么我会有一个类型错误,我已经尝试了所有形式的toString方法或什么都没有 请帮忙 function hiearchyRoleGenerator() { Logger.log("Setting spreasheets up") var ss = SpreadsheetApp.getActiveSpreadsheet(); var sh
function hiearchyRoleGenerator() {
Logger.log("Setting spreasheets up")
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var generatorSheet = sheets[0];
var primeSheet = sheets[1];
var ecsSheet = sheets[2];
var cloudSalesSheet = sheets[3];
var salesDevSheet = sheets[4];
Logger.log("Setting cells up")
var businessUnit = generatorSheet.getRange("A2").getValue();
var startPoint = generatorSheet.getRange("B2").getValue();
var endPoint = generatorSheet.getRange("C2").getValue();
var separator = generatorSheet.getRange("D2");
var concat = generatorSheet.getRange("E2");
var target = startPoint.toString();
Logger.log(target)
//Logger.log("Finding Start Point")
//Logger.log(startPointResult)
//Logger.log(String(startPointResult))
if (businessUnit == "Prime") {
var lastRow = primeSheet.getLastRow();
var data = primeSheet.getRange(1,1,lastRow,7).getValues();
var dataResult = []
var i,j;
for (var i = 0; i <= lastRow ;i++) {
//Logger.log(values[i][0])
for (var j = 0; j<7; j++){
//Logger.log(values[i][j])
if(data[i][j] == startPoint){ //[i] row [j] column ERROR IS HERE
dataResult.push(data[[i][j]]);
}
}
}
concat.setValue(dataResult);
}
}
函数Hierarchyrolegenerator(){
Logger.log(“设置spreasheets up”)
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheets=ss.getSheets();
var生成表=表[0];
var primeSheet=表[1];
var ecsSheet=表[2];
var cloudSalesSheet=表[3];
var salesDevSheet=表[4];
Logger.log(“设置单元格”)
var businessUnit=generatorSheet.getRange(“A2”).getValue();
var startPoint=generatorSheet.getRange(“B2”).getValue();
var endPoint=generatorSheet.getRange(“C2”).getValue();
var separator=generatorSheet.getRange(“D2”);
var concat=generatorSheet.getRange(“E2”);
var target=startPoint.toString();
Logger.log(目标)
//Logger.log(“查找起点”)
//Logger.log(startPointResult)
//Logger.log(字符串(startPointResult))
如果(业务单元==“主要”){
var lastRow=primeSheet.getLastRow();
var data=primeSheet.getRange(1,1,lastRow,7).getValues();
var dataResult=[]
varⅠ,j;
对于(var i=0;i你能试试这样吗
var range = sheet.getRange(1,1,lastRow,7);
var values = range.getValues();
for (var row in values) {
for (var col in values[row]) {
if(values[row][column] == startPoint){ //[i] row [j] column ERROR IS HERE
dataResult.push(values[row][column]);
}
}
另外,行和列是相对于范围的,因此可能会使用变量i,以0开头的j可能会有问题。您可能必须使用1来代替它这有帮助吗?谢谢,非常有效:)。关于以0开始循环,您能否解释行和列是相对的?因为行和列是相对于范围本身的,所以第一个单元格应该是值[1][1],而不是[0][0]。在循环时,代码可能试图访问[0][0]这与范围本身没有定义。为帮助干杯,对不起,我是谷歌应用程序脚本的初学者