Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试在google工作表中查找单元格值,然后返回单元格值_Javascript - Fatal编程技术网

Javascript 尝试在google工作表中查找单元格值,然后返回单元格值

Javascript 尝试在google工作表中查找单元格值,然后返回单元格值,javascript,Javascript,获取TypeError:无法读取未定义的属性“0”(第35行) 我试图在谷歌表单中找到一个单元格值,然后将该单元格值返回到另一个单元格中 我不明白为什么我会有一个类型错误,我已经尝试了所有形式的toString方法或什么都没有 请帮忙 function hiearchyRoleGenerator() { Logger.log("Setting spreasheets up") var ss = SpreadsheetApp.getActiveSpreadsheet(); var sh

获取TypeError:无法读取未定义的属性“0”(第35行)

我试图在谷歌表单中找到一个单元格值,然后将该单元格值返回到另一个单元格中

我不明白为什么我会有一个类型错误,我已经尝试了所有形式的toString方法或什么都没有

请帮忙

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]这与范围本身没有定义。为帮助干杯,对不起,我是谷歌应用程序脚本的初学者