如何使用Google表格脚本在列中找到第一个匹配项的索引?

时间:2018-10-25 17:21:15

标签: google-apps-script google-sheets

我正在尝试使用Google表格脚本在该列中找到第一个匹配项的索引:

function getRowIndex() {
  var lookupValue = "car";
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("List");
  var lastRow = sheet.getLastRow();
  var lookupRangeValues = sheet.getRange(1, 1, lastRow, 1).getValues()[0];
  var index = lookupRangeValues.indexOf(lookupValue);
  Logger.log(index);
}

但是我的代码总是返回-1。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

var lookupRangeValues = sheet.getRange(1, 1, lastRow, 1).getValues()[0];

您要求第一行。

getValues()这样返回2D数组:

array[rowIndex][columnIndex]

尝试:

function getRowIndex() {
  var lookupValue = "car";
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("List");
  var lastRow = sheet.getLastRow();
  var lookupRangeValues = sheet.getRange(1, 1, lastRow, 1).getValues();
  var index = -1;
  lookupRangeValues.forEach(function (row, i){
     if (row[0] == lookupValue )
     {
       index = i;
       return (false);
     }
  });
  Logger.log(index);
}