У меня есть две таблицы (см. Образец листа здесь: пример ):
- 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
имеет ссылки / функции, которые запускают скрипт)