Как получить значения для отфильтрованного диапазона с помощью Apps Script - PullRequest
0 голосов
/ 22 сентября 2019

Мне нужно получить значения диапазона для моей электронной таблицы - но только те строки, которые отображаются на основе выбранного в данный момент фильтра.

Я пытался использовать getValues() на sheet.getFilter().getRange():

function applyOverdueFilter() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  var filter1 = SpreadsheetApp.newFilterCriteria();
  filter1.whenDateBefore(SpreadsheetApp.RelativeDate.TODAY);

  sheet.getFilter().setColumnFilterCriteria(4, filter1.build());

  var newData = sheet.getFilter().getRange().getValues(); // this doesn't work
  Logger.log(newData);
}

Однако newData содержит все данные в моей электронной таблице, а не только данные, отображаемые с применением фильтров.Как получить только отфильтрованные данные?

Примечания: на листе уже есть фильтр и все до тех пор, пока две последние строки не будут работать идеально.Причина, по которой я не хочу использовать фильтрацию массивов в JavaScript, заключается в том, что мои фильтры относятся к датам и относительным датам, которые намного проще фильтровать с помощью критериев фильтрации скрипта Apps.

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