См. Пример изображения ниже.
Я хотел бы использовать редактор скриптов Google Sheets для добавления представления фильтра в ячейке B3
, которая фильтрует по пользовательской формуле =(B4=$B$1)
.
. Планируется добавить функцию onEdit
, которая проверяет, изменилось ли значение в ячейке B1
, и, если это так, сбросить фильтр просмотра в ячейке B3
.
Это ломает мне мозг! Кажется, я не могу найти способ автоматического обновления / обновления sh фильтра, как только мое значение в B1
изменилось.
Мой код в настоящее время выглядит так, но это не добавляет заново пользовательская формула. Он просто показывает мне все непустые строки.
function onEdit(e){
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheetname = "Lactation";
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 == 1 & ecolumn == 2 ){
// there is a match so the cell is B2
//Logger.log("DEBUG: the cell is B2");
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('B3').activate();
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(['', 'No'])
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(2, criteria);
};