Как найти индекс первого совпадения в столбце с помощью скрипта Google листов? - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь найти индекс первого совпадения в столбце, используя скрипт листов 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 голосов
/ 25 октября 2018

in

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

вы запрашиваете первую строку.

getValues() возвращает двумерный массив следующим образом:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...