Как получить номера всех строк в которых есть выделенные ячейки. google sheet

Нужно получить одномерный массив с номерами всех строк в которых есть выделенные ячейки, ячейки могут быть выделены как по порядку так и в разнобой через ctrl

пытаюсь сделать это таким образом

let range = SpreadsheetApp
  .getActive()
  .getSelection()
  .getActiveRangeList()
  .getRanges();

  let arr = new Array;

  range.forEach(item => {
    arr.push (item.getRow());
  });

при выделении ячеек через ctrl (в разнобой) все отлично, а вот если ячейки идут подряд возвращает только номер первой строки в выделенном диапазоне ячеек.


Ответы (1 шт):

Автор решения: AlhonGelios

Нашел решения путем получения последней и первой строки выбранного диапазона

function getSelectedValues() {
  let range = SpreadsheetApp
  .getActive()
  .getSelection()
  .getActiveRangeList()
  .getRanges();

  let arr = new Array;

  range.forEach(item => {
    let last = item.getLastRow();
    let first = item.getRow();

    for (let i = first; i <= last; i++) {
      arr.push(i);
    }
  });
}
→ Ссылка