Поиск значения в столбце - PullRequest
0 голосов
/ 29 января 2020

У меня есть следующее, которое отлично подходит для поиска значения заголовка:

var lastCN = formResponsesSht.getLastColumn();
var data = formResponsesSht.getRange(1,1,1,lastCN).getValues();//Get 2D array of all values in row one
var data = data[0];//Get the first and only inner array
var statusCN = data.indexOf('Status') + 1;  

Теперь я хотел бы найти значение в указанном столбце c. В этом случае B.

var lastRN = formResponsesSht.getLastRow();
var data = formResponsesSht.getRange(1,2,lastRN,1).getValues();//Get 2D array of all values in row one
var data = data[0];//Get the first and only inner array
var statusCN = data.indexOf('Status') + 1;  

Почему это не работает и можно ли использовать ту же стратегию, что и indexOf?

1 Ответ

1 голос
/ 29 января 2020

Если ваш лист выглядел так:

screenshot

Тогда вывод

var data = formResponsesSht.getRange(1,2,lastRN,1).getValues();

будет: [[a], [b], [c], [d], [e], [f], [g], [h], [i]]

И

var data = data[0];

получает вас: [a], то есть первая ячейка в этом столбце.

.getValues() извлекает данные в виде массива, где «первый и внутренний» массив "- это массив всех значений в этой строке.


Редактировать : Чтобы найти индекс 'Status' в столбце данных, попробуйте:

  for (var d = 0; d < data.length; d++) {
    if (data[d].indexOf('Status') > -1) {
      var statusCN = d + 1;  
      break;
    }
  }
  Logger.log(statusCN);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...