оо, созрела идея, в принципе выбирать строки будут в перделах ну максимум пару сотен строк. поэтому вычисляю минимальную и максимальную выделенную строку и беру только этот диапазон
Если это один диапазон, т.е. пользователь не скачет с зажатым CTRL по всей Таблице, то там и считать ничего не надо, у вас уже будет начальная и конечная строка, добавьте только первую и последнюю колонку в getRange(rowStart, 1, rowEnd-rowStart, sheet.getLastColumn())