Вопрос не такой легкий, как может показаться на первый взгляд.
И причина этого в том, что фильтр при его создании берёт сразу значение из ячейки. И даже если значение в ячейке изменится - фильтр автоматически ничего не обновит. Но выход есть - использовать скрипт, который пересоздаёт фильтр когда будет изменяться (редактироваться) значение в ячейке.
ПРИМЕР
Формула для фильтра:
=OR($F$1="";A2=$F$1)
A2=$F$1 - основа фильтра
OR($F$1=""; ..) - сделано для того, чтобы фильтр можно "отключить" просто удалив значение из ячейки F1.
А теперь изюминка - скрипт.
function onEdit(e) {
sheet = e.range.getSheet();
if (sheet.getName() == "Здесь должно быть имя страницы" && e.range.getA1Notation() == "F1") {
let filter = sheet.getFilter();
let filterCriteria = filter.getColumnFilterCriteria(1).copy().build();
filter.setColumnFilterCriteria(1, filterCriteria);
}
}
PS. При необходимости можете создать триггер onEdit, а функицию переименовать.