Сообщение об ошибке: координаты диапазона находятся вне - PullRequest
0 голосов
/ 22 января 2020

Я действительно борюсь с этим, сценарий довольно прост, единственное, что я хочу, чтобы он сортировался только со строки 3 и далее, это то, что делает go неправильным, если я установил get.Range в ( 1,1) тогда это работает, но мне нужны эти два ряда для заголовков! Также верхние две строки заморожены (если это имеет какое-либо значение). Любая помощь в этом была бы удивительной !!! Я перепробовал все другие решения форума (+1 или - 1 в диапазоне, но все еще ничего.

function sortSpreadSheet(){
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName("Sheet1");
    var range = sheet.getRange(3,1, sheet.getLastRow(), sheet.getLastColumn());
    range.sort({column: 1, ascending: false});
}

1 Ответ

2 голосов
/ 22 января 2020

Замороженные строки игнорируются при сортировке, поэтому просто возьмите диапазон данных листа и сортируйте:

sheet.getDataRange().sort(/* your options here*/);

Источник ошибки находится в Sheet#getRange вызов, поскольку вы не учитываете смещение строки заголовка 2 :

const numHeaders = 2;
const range = sheet.getRange(1 + numHeaders, 1, sheet.getLastRow() - numHeaders, sheet.getLastColumn());
range.sort(...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...