Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Loops 如何修复:循环无法运行到完成_Loops_Google Apps Script_Google Sheets_Nested Loops - Fatal编程技术网

Loops 如何修复:循环无法运行到完成

Loops 如何修复:循环无法运行到完成,loops,google-apps-script,google-sheets,nested-loops,Loops,Google Apps Script,Google Sheets,Nested Loops,我试图在列中搜索一组单词,并在行的末尾添加yes或no。脚本在前几个条目中运行,但中途暂停 我正在使用textFinder进行搜索并提取结果行,以便编辑“是”和“否” function onOpen() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var menuEntries = []; menuEntries.push({ name: "test", functionName: "test" }); ss.addMenu

我试图在列中搜索一组单词,并在行的末尾添加yes或no。脚本在前几个条目中运行,但中途暂停

我正在使用textFinder进行搜索并提取结果行,以便编辑“是”和“否”

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [];
  menuEntries.push({ name: "test", functionName: "test" });
  ss.addMenu("Commands", menuEntries);
}

function test() {
  var backupCol = 2
  var dataStartRow = 1
  var row;
  var searchString;
  var textfinder;
  var searchResults;
  var dataSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("input");
  var dataLastRow = dataSheet.getLastRow();
  dataSheet.getRange(dataStartRow, backupCol, dataLastRow).setValue("NO");
  for (var i = 0; i < yesArr.length; i++) {
    searchString = yesArr[i];
    textfinder = dataSheet.createTextFinder(searchString);
    searchResults = textfinder.findAll(); 
    for (var i = 0; i < searchResults.length; i++) {
      row = searchResults[i].getRow();
      dataSheet.getRange(row, backupCol).setValue("YES");
    }
  }
}
函数onOpen(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var指数=[]; push({name:“test”,functionName:“test”}); ss.addMenu(“命令”,菜单); } 功能测试(){ var backupCol=2 var dataStartRow=1 var行; var搜索字符串; var文本查找器; var搜索结果; var数据表=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“输入”); var dataLastRow=dataSheet.getLastRow(); dataSheet.getRange(dataStartRow、backupCol、dataLastRow).setValue(“否”); 对于(变量i=0;i
我希望所有包含yesArr值的条目的输出在行的B列中都有一个yes。但是实际输出只工作到一半

您的问题在于嵌套的
for循环

在两个循环中使用
i
作为索引会给编译器带来问题

将第二个
for循环
索引更改为
x
将解决此问题

 for (var i = 0; i < yesArr.length; i++) {
    searchString = yesArr[i];
    textfinder = dataSheet.createTextFinder(searchString);
    searchResults = textfinder.findAll(); 
    for (var x = 0; x < searchResults.length; x++) {
      row = searchResults[x].getRow();
      dataSheet.getRange(row, backupCol).setValue("YES");
    }
  }
for(变量i=0;i
问题出在嵌套的
for循环中

在两个循环中使用
i
作为索引会给编译器带来问题

将第二个
for循环
索引更改为
x
将解决此问题

 for (var i = 0; i < yesArr.length; i++) {
    searchString = yesArr[i];
    textfinder = dataSheet.createTextFinder(searchString);
    searchResults = textfinder.findAll(); 
    for (var x = 0; x < searchResults.length; x++) {
      row = searchResults[x].getRow();
      dataSheet.getRange(row, backupCol).setValue("YES");
    }
  }
for(变量i=0;i
您的电子表格有多大,成本可能太高,您需要分两部分进行计算。如果在嵌套的For循环中不使用“i”作为两个索引,则很可能会混淆。将你的第二个for循环更改为“x”@carrohead请提供你的工作表截图,以便我们能够识别它。@SweetChillyPhilly哦,是的,我犯了一个多么新手的错误!将其更改为x解决了问题,谢谢!您的电子表格有多大,成本可能太高,您需要分两部分进行计算。如果在嵌套的For循环中不使用“i”作为两个索引,则很可能会混淆。将你的第二个for循环更改为“x”@carrohead请提供你的工作表截图,以便我们能够识别它。@SweetChillyPhilly哦,是的,我犯了一个多么新手的错误!将其更改为x解决了问题,谢谢!