Да, вы можете автоматизировать фильтр, если ячейка I3 отредактирована.Я не специалист по фильтрам (особенно по сценариям), поэтому я создал и повторно использовал макрос.
- Создайте макрос, который выбирает фильтр и «выбирает Да».Переименуйте макрос в значимое имя.
- Создайте скрипт onEdit (e).Оцените, была ли отредактирована ячейка I3;если да, запустите макрос
function onEdit(e){
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheetname = "P&L";
var sheet = ss.getSheetByName(sheetname);
var erow = e.range.getRow();
// Logger.log("DEBUG: row = "+erow);
var ecolumn = e.range.getColumn();
// Logger.log("DEBUG: column = "+ecolumn);
if (erow == 3 || ecolumn == 8 ){
// there is a match so the cell is I3
// Logger.log("DEBUG: the cell is I3");
updatefilter();
}
else
{
// there is no match so the cell is NOT I3
//Logger.log("DEBUG: the cell is not I3");
}
}
function updatefilter() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('V3').activate();
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(['', 'No'])
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(22, criteria);
};