为什么我的y变量停在6?

时间:2018-05-02 17:39:54

标签: javascript google-apps-script google-sheets

我一直致力于制作一个程序,该程序将采用表单响应,比较列中的一个单元格(例如主题),并将其粘贴到另一个工作表中的相应行中。我现在已经开展了几个星期的工作,但似乎因为几个问题而陷入困境。



function checkForDuplicate() {
  //Sets 'data' as the variable holding values from the first sheet.
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("responses");
  var data = sheet.getDataRange().getValues();

  //Sets 'data2' as the variable holding values from the second sheet.
  var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 2");
  var data2 = sheet2.getDataRange().getValues();

  //Sets a variable for the numerical length of data
  var responsesLength = data.length;
  var x = 1;
  var y = 0;
  //Finds a value that is the same as one in the second sheet.
  while (true) {
    var input = data[responsesLength - 1][0];
    var output = data2[y][0]
    Logger.log(input);
    Logger.log(output);
    if (input == output) {
      var rowLength = data[responsesLength - 1].length;
      for (var i = 0; i < rowLength; i++) {
        copyData("responses", x, responsesLength, "Form Responses 2", x, 5);
        x = x + 1
        break;
      }
    } else {
      y = y + 1;
      Logger.log(y);
      if (y >= 10) {
        Logger.log("Error. No same value found.");
        break;
      }
    }
  }
}
&#13;
&#13;
&#13;

影响我自己的故障排除的一个主要问题是我的&#34; y&#34;变量将不会计入过去6.日志将继续记录y的值,但是一旦达到6,它将停止记录,并且由于程序没有结束,y将不会计数。我想知道是否有人知道解决这个问题?

以下是Logger提供的日志

  1. [18-05-03 10:20:55:327 PDT] Cotton Sweatshirt XLC
  2. [18-05-03 10:20:55:328 PDT]时间戳
  3. [18-05-03 10:20:55:329 PDT] 1.0
  4. [18-05-03 10:20:55:329 PDT] Cotton Sweatshirt XLC
  5. [18-05-03 10:20:55:330 PDT] Tue Apr 24 13:11:11 GMT-04:00 2018
  6. [18-05-03 10:20:55:330 PDT] 2.0
  7. [18-05-03 10:20:55:331 PDT] Cotton Sweatshirt XLC
  8. [18-05-03 10:20:55:331 PDT] 5月03日00:00:00 GMT-04:00 2018
  9. [18-05-03 10:20:55:332 PDT] 3.0
  10. [18-05-03 10:20:55:333 PDT] Cotton Sweatshirt XLC
  11. [18-05-03 10:20:55:333 PDT] Cotton Sweatshirt XL
  12. [18-05-03 10:20:55:334 PDT] 4.0
  13. [18-05-03 10:20:55:334 PDT] Cotton Sweatshirt XLC
  14. [18-05-03 10:20:55:335 PDT] Cotton Sweatshirt XLC
  15. Cotton Sweatshirt XLC将继续无限制,直到我杀死该程序。

    https://docs.google.com/spreadsheets/d/1ZZTWTTkdAESBWhHhpurcDMtohfIlVvt9z5x9wc2GKQ8/edit?usp=sharing

    这是我用来创建此代码的测试文档。其中没有敏感数据,这意味着我可以免费分享以解决我遇到的问题。

    提前致谢!

1 个答案:

答案 0 :(得分:0)

可能因为y = 7,它找到了匹配。在input == output的阻止中,您忘了增加y