ГАЗ: поиск последнего столбца в данной строке - PullRequest
0 голосов
/ 08 октября 2018

У меня есть следующие функции.Первая, lastRowF, находит последнюю строку в столбце, который вы ей предоставили.Работает отлично.

//Finds last row in a given column
function lastRowF(column) {
  var lastRow = SpreadsheetApp.getActiveSheet().getMaxRows();
  var values = SpreadsheetApp.getActiveSheet().getRange(column + "1:" + column + lastRow).getValues();

  for (; values[lastRow - 1] == "" && lastRow > 0; lastRow--) {}
  return lastRow;
}

Второй, lastColF, делает то же самое, но для столбцов в данной строке.Или, по крайней мере, так и должно быть.

//Finds last column in a given row
function lastColF(row) {
  var lastCol = SpreadsheetApp.getActiveSheet().getMaxColumns();
//  var values = SpreadsheetApp.getActiveSheet().getRange("A" + row + ":" + colLetter(lastCol) + row).getValues();
  var values = SpreadsheetApp.getActiveSheet().getRange("A2:AB2").getValues();

  for (; values[lastCol - 1] == "" && lastCol > 0; lastCol--) {}
  return colLetter(lastCol);
}

Как таковая, функция просто возвращает lastCol, как было объявлено изначально.Циклы for немедленно завершаются.

Я определил, что проблема values, но я не могу понять ПОЧЕМУ, и это сводит меня с ума.Массив заполняется правильно - msgBox(values) перечисляет все значения в строке - но попытка вызвать отдельное значение просто возвращает неопределенное значение.Это не имеет никакого смысла для меня, потому что проверка всего массива и отдельных значений в lastRowF работает отлично.

1 Ответ

0 голосов
/ 20 октября 2018

Я не уверен, помогает ли это спрашивающему.В любом случае, это мой любимый фрагмент кода из Переполнение стека (кредит Могсдад , который, в свою очередь, адаптировал его из другого ответа на другой вопрос. Это сила стекаПереполнение в действии.)

Чтобы определить последнюю строку в одном столбце - (выполняется в 2 строки кода):

var Avals = ss.getRange("A1:A").getValues();
var Alast = Avals.filter(String).length;

То же самое можно сделать для столбцов, изменивнаправление диапазона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...