如何在每次运行时从Google表格中提取不同的值

时间:2015-08-04 16:05:06

标签: javascript google-sheets

所以我试图提取最新一行google sheets中的值。以下是我遇到问题的脚本部分。此脚本是在google脚本中编写的。

当此脚本运行时,它发送的确认电子邮件的var cell值为undefined。 0

function formSubmitReply(e) {
  var userEmail = e.values[3];
  var sheet = SpreadsheetApp.getActiveSheet();
  var lastRow = sheet.getLastRow();
  // Set the status of the new ticket to 'New'.
  // Column F is the Status column
  sheet.getRange(lastRow, getColIndexByName("Status")).setValue("New");
  var supportEmail;

  // Calculate how many other 'New' tickets are ahead of this one
  var numNew = 0;
  for (var i = 2; i < lastRow; i++) {
    if (sheet.getRange(i, getColIndexByName("Status")).getValue() == "New") {
      numNew++;
    }
  }

  var range = sheet.getRange("B2:B100");

  var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues()
  Logger.log(values[0][0]);
  for(n=0;n<values[0].length;++n){
    var cell = values[n][1]
  }

1 个答案:

答案 0 :(得分:0)

问题在于:

for(n=0;n<values[0].length;++n){
    var cell = values[n][1]
  }

values [0] .length values [n] [1] 遍历行时的列数。

如果你需要一个循环遍历行,请使用:

for(n=0;n<values.length;++n){
        var cell = values[n][1]
      }

否则,如果你有10列和50行,你的循环最多只会达到10,因为值[0] .length 是10,你将从中提取数据:

  1. A1
  2. A2
  3. A3
  4. A4
  5. 等等,直到

    1. A10
    2. 然后循环将停止。