Как запустить Google Apps Script из ячейки с параметрами из других ячеек? - PullRequest
0 голосов
/ 22 мая 2019

У меня есть две таблицы (см. Образец листа здесь: пример ):

  • 500 строк необработанных данных (т.е. город, регион, температура, примечание)
  • 100 строк агрегированных данных (т.е. город, средняя температура)

Я хочу, чтобы пользователи могли легко просматривать необработанные данные под агрегированными данными

Я попробовал Pivot Table (но он довольно грязный). Поэтому я написал сценарий, который добавляет критерии фильтра, но я не знаю, как запускать его из ячеек / динамически (т.е. запускать filterList(filter_value) функцию с различными filter_values)

function filterList(filter_value) {
  var sss = SpreadsheetApp.getActiveSpreadsheet();
  var ss = sss.getSheetByName('Raw Data'); 
  var range = ss.getDataRange();

  var team_list = ['A', 'B', 'C', 'D']

  for( var i = 0; i < team_list.length; i++){ 
    if ( team_list[i] === filter_value) {
      team_list.splice(i, 1); 
    }
  }

  var filtercriteria = SpreadsheetApp.newFilterCriteria().setHiddenValues(team_list).build();
  var filter = range.getFilter() || range.createFilter();

  filter.setColumnFilterCriteria(1, filtercriteria);
}

function main(){
  filterList('A')
}

В идеальном случае пользователь должен иметь возможность: 1) инициировать обновление фильтра из сводного листа 2) иметь представление, сфокусированное на листе (например, Col D в Aggregate имеет ссылки / функции, которые запускают скрипт)

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